C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
生活随笔
收集整理的這篇文章主要介紹了
C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
定義string變量為str,內存流變量為ms,比特數組為bt
1.字符串=>比特數組
(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");(2)byte[] bt=Convert.FromBase64String("字符串");補充:
System.Text.Encoding.Unicode.GetBytes(str); System.Text.Encoding.UTF8.GetBytes(str); System.Text.Encoding.GetEncoding("gb2312").GetBytes(str); //指定編碼方式 string str = "中國?ss123?"; byte[] bytes = System.Text.Encoding.Default.GetBytes(str); //gb2312編碼 漢字占2個字節、英文字母占1個字節 bytes長度為12 string s = System.Text.Encoding.Default.GetString(new byte[] { bytes[0],bytes[1] });//解碼后為“中” byte[] bytes = {97, 98, 99, 100, 101, 102}; string str = System.Text.Encoding.ASCII.GetString(bytes); //結果為:abcdef ASCII碼表????? 常用方法:
GetString 已重載。 在派生類中重寫時,將一個字節序列解碼為一個字符串。 GetChars 已重載。 在派生類中重寫時,將一個字節序列解碼為一組字符。 GetBytes 已重載。 在派生類中重寫時,將一組字符編碼為一個字節序列。GetByteCount 已重載。 在派生類中重寫時,計算對一組字符進行編碼所產生的字節數。 GetCharCount 已重載。 在派生類中被重寫時,計算對字節序列進行解碼所產生的字符數。GetDecoder 在派生類中重寫時,獲取一個解碼器,該解碼器將已編碼的字節序列轉換為字符序列。 GetEncoder 在派生類中重寫時,獲取一個解碼器,該解碼器將Unicode字符序列轉換為已編碼的字節序列2.比特數組 => 字符串
(1)string str=System.Text.Encoding.Default.GetString(bt);(2)string str=Convert.ToBase64String(bt);3.字符串 => 流
(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串")); (2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));4.流 => 字符串
(1)string str=Convert.ToBase64String(ms.ToArray());(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());5.比特數組 => 流
(1)MemoryStream ms=new MemoryStream(bt);(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);6.流 => 比特數組
(1)byte[] bt=ms.ToArray();(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);轉載于:https://www.cnblogs.com/lvdongjie/p/5619904.html
總結
以上是生活随笔為你收集整理的C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: char 与 String 相等比较
- 下一篇: c# char unsigned_dll