對方是協議
對於整型、長整型等數據類型,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;
}