int 與 byte 的相互轉換

2022-02-02 00:35:09 字數 981 閱讀 2053

關於 int 與 byte 的相互轉換,mattias sjogren 介紹了3種方法。請參見 《將integer轉換成byte array》。其實應該還有不少方法。在這裡,我歸納了包括mattias sjogren在內的4種方法。

int 與 byte 的相互轉換

沐楓網誌

1. 最普通的方法

2. 使用 bitconverter (強力推薦)

3. unsafe** (雖然簡單,但需要更改編譯選項)

unsafe

4. 使用marshal類
intptr ptr 

=marshal.allochglobal(

4); 

//要分配非託管記憶體

byte b=

newbyte[4];

//從byte 到 int

marshal.copy(b, 

0, ptr, 4);

intu 

=marshal.readint32(ptr); 

//從int 到byte

marshal.writeint32(ptr, u);

marshal.copy(ptr,b,0,

4);marshal.freehglobal(ptr); 

//最後要記得釋放記憶體

使用第4種看起來比較麻煩,實際上,如果想把結構(struct)型別轉換成byte,則第4種是相當方便的。例如:

intlen 

=marshal.sizeof(

typeof

(mystruct));

mystruct o;

byte

arr 

=new

byte

[len];//;

intptr ptr 

=marshal.allochglobal(len);

tryfinally

return

o;

int 與 byte 的相互轉換

int 與 byte 的相互轉換 1.最普通的方法 從byte 到 uint b new byte u uint b 0 b 1 8 b 2 16 b 3 24 從int 到 byte b 0 byte u b 1 byte u 8 b 2 byte u 16 b 3 byte u 24 2.使用 ...

byte 與string相互轉換

c 中byte與string相互轉換及string與sql server中nvarchar的轉換問題 最近在寫專業實踐 資料庫加密,找出以前寫的md5 des程式,編成兩個動態鏈結庫md5.dll des.dll,在這把我遇到的問題分享下 1 byte與string的相互轉換 首先在c 中strin...

bitmapimage與byte 相互轉換

wpf image byte wpf bitmapimage 有時要實現bitmapimage與byte相互轉換,這裡實現兩個靜態方法,直接呼叫即可。byte轉換為bitmapimage public static bitmapimage bytearraytobitmapimage byte by...