将大端序数组转换为 Int64
本文关键字:转换 Int64 数组 序数 | 更新日期: 2023-09-27 18:32:06
Im 使用 System.IO.BinaryReader 从序列化文件中读取数据。该文件是大端序。因此,我从流中读取 Int64(长)所做的是从中读取 8 个字节。我需要做的是将这 8 个字节的大端序转换为小端长表示。
我不能使用System.BitConverter,因为它将与Mono一起编译,以便在Linux上使用,Linux可以在大端序上运行,而Visual Studio for Windows则是小端序。
您可以使用
System.Net.IPAddress.NetworkToHostOrder
或System.Net.IPAddress.HostToNetworkOrder
例如, System.Net.IPAddress.HostToNetworkOrder(0x0123456789abcdefl)
会回来efcdab8967452301
如果你最终还是要用Mono,你可以使用DataConvert。
在Windows上也可以正常工作。我正在我的一个项目中使用它。
John Skeet 的 miscutil 库实现了 BigEndianBitConverter。