1.先从byte 说起, byte 范围为 0~255 的整数,这个区间是在 int 范围中,所以 当byte 转为 int 时,则为小范围转大范围,隐式转换可以直接转换,反过来就是显式转换 需要Convert 下
byte a = 1; byte b = 2; //正整数+正整数 可以赋值给byte(正常理解应该是,整型转为byte型,特例) byte c = 1 + 2; // byte类型+整数 为 int类型 byte d = Convert.ToByte(a + 1); // byte类型 + byte类型 为 int类型 byte e = Convert.ToByte(a + b);
//将int32转换为字节数组,防止数据丢失,如右图
byte[] bytes = BitConverter.GetBytes(258);
//此外Byte[] 与 String 转换
byte[] bts = System.Text.Encoding.Default.GetBytes(str);
string str = System.Text.Encoding.Default.GetString(bts);
2.对于bytes数组来说,其实也没啥太大的差别,记住一些常用的操作即可,比如,合并,截取,拼接
byte[] bts1 = new byte[9]; bts1[0] = 10; bts1[1] = 12; byte[] bts2 = new byte[6]; bts2[0] = 14; bts2[1] = 15; bts2[2] = 16; //累加,值为 10,12,0,0,0,0,0,0,0,14,15,16,0,0,0 bts1 = bts1.Concat(bts2).ToArray();