如何將位元組陣列轉換成 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) 方法,將陣列中的四個位元組轉換成 intToInt32(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: {0}", 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

另請參閱