在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字節順序。