Contents

基础数据类型转字节数组

变量的本质

  • 变量的本质是2进制
  • 在内存中都以字节的形式存储着
  • 1byte = 8bit
  • 1bit(位)不是0就是1
  • 通过sizeof方法可以看到常用变量类型占用的字节空间长度
print("sbyte" + sizeof(sbyte) + "字节");
print("int" + sizeof(int) + "字节");
print("short" + sizeof(short) + "字节");
print("long" + sizeof(long) + "字节");

2进制文件读写的本质

它就是通过将各类型变量转换为字节数组

将字节数组直接存储到文件中

一般人是看不懂存储的数据的

不仅可以节约存储空间,提升效率

还可以提升安全性

而且在网络通信中我们直接传输的数据也是字节数据(2进制数据)

各类型数据和字节数据相互转换

将各类型转字节

int a = 256;
byte[] bytes = BitConverter.GetBytes(a);

字节数组转各类型

int i = BitConverter.ToInt32(bytes, 0);

标准编码格式

编码是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。

为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。

常见的编码格式有ASCII、ANSI、GBK、GB2312、UTF - 8、GB18030和UNICODE等。

在C#中有一个专门的编码格式类 来帮助我们将字符串和字节数组进行转换

将字符串以指定编码格式转字节

 byte[] bytes2 = Encoding.UTF8.GetBytes("路飞");

字节数组以指定编码格式转字符串

string s = Encoding.UTF8.GetString(bytes2);