Byte陣列與其它型別間的轉換

2022-05-08 09:57:08 字數 1405 閱讀 7088

可以通過bitconverter類來將位元組陣列轉換為其它型別

返回型別

方法bool

toboolean(byte, int32)

char

tochar(byte, int32)

double

todouble(byte, int32)

short

toint16(byte, int32)

inttoint32(byte, int32)

long

toint64(byte, int32)

float

tosingle(byte, int32)

ushort

touint16(byte, int32)

uint

touint32(byte, int32)

ulong

touint64(byte, int32)

在運用bitconverter類時,要記住的乙個重點是它的行為取決於硬體架構(**在該硬體架構上執行)的位元組順序(endianness)——就是說,integer位元組在記憶體中的儲存順序。如果你將bit儲存為可以在許多不同平台上讀取的乙個檔案格式,那麼就會出問題。bitconverter有乙個公有的islittleendian欄位。

例如在計算機結構為 little-endian 的情況下反轉陣列(即首先儲存最低有效位元組),然後呼叫 toint32(byte, int32) 方法以將陣列中的四個位元組轉換為 int。toint32(byte, int32) 的第二個引數指定位元組陣列的起始索引。

byte bytes = ;

// 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 轉換為位元組陣列。

說明:

輸出可能會根據計算機結構的 endian 設定而不同。

byte bytes = bitconverter.getbytes(201805978);

console.writeline("byte array: " + bitconverter.tostring(bytes));

// output: byte array: 9a-50-07-0c

CString 與其它資料型別轉換問題

cstring 標頭檔案 include string 標頭檔案 include cstring 轉char cstring cstr char p lpstr lpctstr cstr string 轉 cstring cstring.format s string.c str char 轉 cs...

CString與其他型別的轉換

如何將cstring型別的變數賦給char 型別的變數 1 getbuffer函式 使用cstring getbuffer函式。char p cstring str hello p str.getbuffer str.getlength str.releasebuffer 將cstring轉換成ch...

String與其他型別的轉換

1.由 基本資料型態轉換成 string string 類別中已經提供了將基本資料型態轉換成 string 的 static 方法 也就是 string.valueof 這個引數多載的方法 有下列幾種 string.valueof boolean b 將 boolean 變數 b 轉換成字串 str...