鉴于这些整数:
- public uint ServerSequenceNumber;
- public uint Reserved1;
- public uint Reserved2;
- public byte Reserved3;
- public byte TotalPlayers;
从它们创建byte []数组的最佳方法是什么?如果它们的所有值都是1,则生成的数组将是:
- 00000000000000000000000000000001 00000000000000000000000000000001 00000000000000000000000000000001 00000001 00000001
解决方法
这应该做你想要的. BitConverter按正在使用的处理器的字节顺序返回一个字节数组.对于x86处理器来说,它是小端的.这将最低有效字节放在第一位.
- int value;
- byte[] byte = BitConverter.GetBytes(value);
- Array.Reverse(byte);
- byte[] result = byte;
如果您不知道将要使用该应用程序的处理器我建议使用:
- int value;
- byte[] bytes = BitConverter.GetBytes(value);
- if (BitConverter.IsLittleEndian){
- Array.Reverse(bytes);
- }
- byte[] result = bytes;