C struct 和byte 相互轉換

2021-06-21 16:21:06 字數 755 閱讀 7151

一、c#結構體

1、定義與c++對應的c#結構體

在c#中的結構體不能定義指標,不能定義字元陣列,只能在裡面定義字元陣列的引用。 

c++的訊息結構體如下: 

//訊息格式 4+16+4+4= 28個位元組 

struct cs_message

;c#定義的結構體如下:

[structlayout(layoutkind.sequential, pack = 1)]

public struct my_message  }

在c++的標頭檔案定義中,使用了 #pragma pack 1 位元組按1對齊,所以c#的結構體也必須要加上對應的特

性,layoutkind.sequential屬性讓結構體在匯出到非託管記憶體時按出現的順序依次布局,而對於c++的

char陣列型別,c#中可以直接使用string來對應,當然了,也要加上封送的特性和長度限制。

2、結構體與byte的互相轉換

定義乙個類,裡面有2個方法去實現互**

public class converter 

finally  }

public object bytestostruct(byte bytes, type strcuttype) 

finally  } 

}3、測試結果:

static void main(string args) 

結構體的size是28個位元組和c++的結構體一樣,同時可以將結構體和位元組陣列互轉,方便udp的傳送和接收。

C int和byte的相互轉換

下面介紹三種方法來進行轉換。1 在.net framework類庫的system名字空間中有個叫做 bitconverter 的類,它是專門用來進行這種轉換的。主要方法 1 getbytes 方法 可以將大多數的簡單型別轉化為byte 2 toint tostring 等方法 用來將乙個byte轉換...

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...