C# 8字节byte数组转int


对方是协议

对于整型、长整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节);而 Little endian 则相反,它认为第一个字节是最低位字节(按照从低地址到高地址的顺序存放据的低位字节到高位字节)。

直接使用bitconvert.toint,则正好相反

通过BitConverter.IsLittleEndian获取可以知道,默认是LittleEndian

 

/// <summary>
/// 8字节byte 转int8
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static ushort ByteToInt8(this byte[] data)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(data);
ushort ilen = BitConverter.ToUInt16(data, 0);
return ilen;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM