HOW TO:將位元組陣列轉換成整數 (C# 程式設計手冊)
這個範例會示範如何使用 BitConverter 類別,將位元組陣列轉換為 int,並轉換回位元組陣列。 例如,您讀取了網路上的位元組之後,您可能需要將位元組轉換為內建資料型別。 除了範例中的 ToInt32(array<Byte[], Int32) 方法以外,下表會列出 BitConverter 類別中的方法,這些方法會將位元組 (從位元組陣列) 轉換為內建型別。
傳回的型別 |
方法 |
---|---|
bool |
|
char |
|
double |
|
short |
|
int |
|
long |
|
float |
|
ushort |
|
uint |
|
ulong |
範例
這個範例會初始化位元組陣列,若電腦架構是位元組由小到大 (也就是說,先儲存較不重要的位元組) 時將陣列反向,然後呼叫 ToInt32(array<Byte[], Int32) 方法,將陣列中的四個位元組轉換為 int。 ToInt32(array<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