阅读量:0
在C#中,可以使用BinaryReader
和BinaryWriter
类来处理字节顺序转换
using System; using System.IO; using System.Text; class Program { static void Main() { // 创建一个内存流 using (MemoryStream stream = new MemoryStream()) { // 创建一个二进制写入器,默认字节顺序为LittleEndian using (BinaryWriter writer = new BinaryWriter(stream, Encoding.UTF8)) { // 写入一个整数 writer.Write(42); } // 将流的位置重置为0,以便从头开始读取 stream.Position = 0; // 创建一个二进制读取器,默认字节顺序为LittleEndian using (BinaryReader reader = new BinaryReader(stream, Encoding.UTF8)) { // 读取一个整数 int value = reader.ReadInt32(); Console.WriteLine("LittleEndian: " + value); } // 将流的位置重置为0,以便从头开始读取 stream.Position = 0; // 创建一个二进制读取器,设置字节顺序为BigEndian using (BinaryReader bigEndianReader = new BinaryReader(stream, Encoding.UTF8, true)) { // 读取一个整数 int value = bigEndianReader.ReadInt32(); Console.WriteLine("BigEndian: " + value); } } } }
在这个示例中,我们首先创建了一个MemoryStream
对象,然后使用BinaryWriter
将一个整数写入流中。接着,我们创建了两个BinaryReader
对象,一个使用默认的LittleEndian字节顺序,另一个使用BigEndian字节顺序。最后,我们分别读取了这两个整数,并将它们输出到控制台。
注意:在实际应用中,你可能需要根据具体情况选择合适的字节顺序。例如,网络传输中通常使用BigEndian字节顺序。