C 中字元陣列,位元組陣列和string之間的轉化

2022-08-31 11:21:09 字數 1164 閱讀 6635

ndc(networkdiskclient)的介面和後台程式之間用socket通訊,傳送命令。

環境:介面:c# winform

後台:vc++,訊息通知

網路通訊,c#是通過網路位元組流進行傳輸的,傳輸內容是有報文頭的protobuf。net訊息。報文頭是struct結構體,先轉化成byte,protobuf訊息就先轉換為記憶體流,再stream.toarray轉化為位元組陣列,就可以由socket傳輸。

字串string和記憶體流memorystream及位元陣列byte互轉比較

定義string變數為str,記憶體流變數為ms,位元陣列為bt

1.字串轉位元陣列

(1)byte bt=system.text.encoding.default.getbytes("字串");

(2)byte bt=convert.frombase64string("字串");

2.字串轉流

(1)memorystream ms=new memorystream(system.text.encoding.default.getbytes("字串"));

(2)memorystream ms=new memorystream(convert.frombase64string("字串"));

3.流轉位元陣列

(1)byte bt=ms.toarray();

(2)memorystream ms=new memorystream();ms.write(bt,0,ms.length);

4.流轉字串

(1)string str=convert.tobase64string(ms.toarray());

(2)string str=system.text.encoding.default.getstring(ms.toarray());

5.位元陣列轉字串

(1)string str=system.text.encoding.default.getstring(bt);

(2)string str=convert.tobase64string(bt);

6.位元陣列轉流

(1)memorystream ms=new memorystream(bt);

(2)memorystream ms=new memorystream();ms.read(bt,0,bt.lenght);

C 字串到位元組陣列,位元組陣列轉整型

int num 12345 string num1 convert.tostring 12345,16 byte bytes bitconverter.getbytes num 將int32轉換為位元組陣列 num bitconverter.toint32 bytes,0 將位元組陣列內容再轉成in...

c 位元組陣列的長度 字元陣列

在 c 語言中,字串應用的非常廣泛,但是卻沒有字串型別。為了解決這個問題,c語言使用字元陣列來儲存字串。1.字串與字串結束標誌.在 c 語言中沒有專門定義字串型別,通常使用字元陣列來儲存字串。由於字串也採用字元陣列進行儲存,為了區分普通字元陣列和字串,c 語言規定以字元 0 作為字串結束標誌。例如 ...

C 位元組陣列操作

合併位元組陣列 public static byte combinebytearray byte bytearra return ams.toarray 位元組陣列擷取 32位 public unsafe static byte subbytearray byte src,int begin,int...