C# byte转int:大小端读取

发布时间:2024年01月20日

大端模式和小端模式是计算机存储多字节数据时的两种方式。
大端模式:最高有效(最高位)的字节存放在最小地址上,其他字节依次向后排列。读取时,最先读到的是最重要的字节。
小端模式:最不重要的字节存放在最小地址上,其他字节依次向前排列。

Int转为Byte

int转为小端存储方式的byte[]

// 小端
// 方法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

int转为大端存储方式的byte[]

// 大端
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
文章来源:https://blog.csdn.net/weixin_42433809/article/details/135697876
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。