byte a = 0;
byte[] arr = BitConverter.GetBytes(a);
应该如何理解BitConverter.GetBytes(byte)
这种代码应该如何理解?把1个字节变为2个字节 到底有什么用?
你应先了解基础数据类型是如何使用二进制表示的。
应该是我没表达明白,实际上GetBytes没有一个byte参数的重载,而是将byte转成了int16,但为什么要传一个byte?我就是不明白为什么要这样,这样写的话会得到一个包含2个元素的数组,其中高8位是这个byte,低8位就是0,这到底有什么意义?
既然没有 byte 类型参数的重载,那么函数会自动将 byte 转换为最接近的相容的数据类型(int16)再处理。
也就是说,凡是 int16 类型(不限于,int32、int64也可以)可以出现的地方,也可以使用 byte 类型,因为这些类型都www.9iBee.com相容与 byte。
byte 向上转换为short 看业务需求吧,数据解析增加安全性,规律