如何將位元組陣組轉換成 int (C# 程式設計手冊)
這個範例示範如何使用 BitConverter 類別,將位元組陣列轉換成 int,然後再轉換回位元組陣列。 您可能必須在從網路讀取位元組後,將其轉換成內建的資料類型。 除了範例中的 ToInt32(Byte[], Int32) 方法之外,下表列出將位元組(從位元組數位)轉換為其他內建類型的 BitConverter 類別中的方法。
傳回的類型 | 方法 |
---|---|
bool |
ToBoolean(Byte[], Int32) |
char |
ToChar(Byte[], Int32) |
double |
ToDouble(Byte[], Int32) |
short |
ToInt16(Byte[], Int32) |
int |
ToInt32(Byte[], Int32) |
long |
ToInt64(Byte[], Int32) |
float |
ToSingle(Byte[], Int32) |
ushort |
ToUInt16(Byte[], Int32) |
uint |
ToUInt32(Byte[], Int32) |
ulong |
ToUInt64(Byte[], Int32) |
範例
本範例會初始化位元組陣列,如果計算機架構為小端序(即最低有效位元組先儲存),則會反轉陣列。接著呼叫 ToInt32(Byte[], Int32) 方法,將陣列中的四個位元組轉換成 int
。 要 ToInt32(Byte[], Int32) 的第二個自變數 會指定位元組數位的起始索引。
備註
輸出可能會因計算機架構的結束度而有所不同。
byte[] bytes = [0, 0, 0, 25];
// If the system architecture is little-endian (that is, little end first),
// reverse the byte array.
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine($"int: {i}");
// Output: int: 25
在此範例中,會呼叫 BitConverter 類別的 GetBytes(Int32) 方法,將 int
轉換成位元組陣列。
備註
輸出可能會因計算機架構的端序而有所不同。
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C