C#中字符數組,字節數組和string之間的轉化


轉自:http://blog.csdn.net/wangxiaoqin00007/article/details/17675419

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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM