大端模式和小端模式是计算机存储多字节数据时的两种方式。
大端模式:最高有效(最高位)的字节存放在最小地址上,其他字节依次向后排列。读取时,最先读到的是最重要的字节。
小端模式:最不重要的字节存放在最小地址上,其他字节依次向前排列。
// 小端
// 方法1:系统函数
uint value = 14; // 示例值
byte[] bytes = BitConverter.GetBytes(value);
Console.WriteLine(BitConverter.ToString(bytes));
// 或者方法2
bytes = new byte[4];
for (int i = 0; i < 4; i++)
{
bytes[i] = (byte)((value >> i * 8) & 0xFF); // 先取低8位
}
Console.WriteLine(BitConverter.ToString(bytes));
输出:
0E-00-00-00
0E-00-00-00
// 大端
uint value = 14; // 示例值
byte[] bytes = BitConverter.GetBytes(value).Reverse().ToArray();
Console.WriteLine(BitConverter.ToString(bytes));
bytes = new byte[4];
for (int i = 0; i < 4; i++)
{
bytes[i] = (byte)((value >> (3 - i) * 8) & 0xFF); // 先取高8位
}
Console.WriteLine(BitConverter.ToString(bytes));
输出:
00-00-00-0E
00-00-00-0E