C#字符串、字節數組和內存流間的相互轉換

定義string變量爲str,內存流變量爲ms,比特數組爲bthtml

 

1.字符串=>比特數組數組

(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");

(2)byte[] bt=Convert.FromBase64String("字符串");

補充:post

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.比特數組=>字符串url

(1)string str=System.Text.Encoding.Default.GetString(bt);

(2)string str=Convert.ToBase64String(bt);

 

3.字符串=>spa

(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));

(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));

 

4.流=>字符串code

(1)string str=Convert.ToBase64String(ms.ToArray());

(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());

 

5.比特數組=>htm

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

(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);

 

6.流=>比特數組blog

(1)byte[] bt=ms.ToArray();

(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);
相關文章
相關標籤/搜索