C# byte[]與char[]、string與char[]、byte[] 與 string 互轉

C# char[]、byte[]、string互相轉換

string to char[]: string的 ToCharArray() 可以返回一個 char[]
char[] to string, byte[] to string: Encoding的 GetBytes(char[])、GetBytes(string) 可以將 char[]、string 轉爲 byte[]
要麼用Convert.ToByte()一個個Byte轉,Convert裏只有ToString的,沒有ToBytes和Chars的
byte[] to string: Encoding.GetEncoding("xx").ToString(byte[]),重載ToString(byte[],int index,int count),或者Encoding.Unicode/ASCII/UTF8 等 Encoding實例類的 ToString(byte[]) 方法。Convert,ToString(para-list) 裏沒有char[] byte[]的重載,況且byte要考慮編碼。
char[] to string: suppose char[] ch has already existed, string s=new string(ch), 這樣就轉換好了。也可以用 StringBuilder s=new StringBuilder().Append(ch).ToString(),StringBuilder是可變字符串類,看名字就知道是方便於Build的。很好。


C# byte[]與char[]、string與char[]、byte[] 與 string 互轉  

2011-02-28 17:32:54|  分類: C# |  標籤:字符串互轉  |舉報|字號 訂閱

1. byte array -> char array

    Byte[] b=new byte[5]{0x01,0x02,0x03,0x04,0x05}; 

Char[] c=Encoding.ASCII.GetChars(b); 

 

2. char array -> byte array

    view plaincopy to clipboardprint?
Char[] c=new char[5]{a,b,c,d,e};   
  
Byte[] b=Encoding.Default.GetBytes(c);   
Char[] c=new char[5]{a,b,c,d,e};

Byte[] b=Encoding.Default.GetBytes(c);

 

3.string 轉換成 Char[]

   view plaincopy to clipboardprint?
string ss="abcdefg";   
  
char[] cc=s.ToCharArray();  
string ss="abcdefg";

char[] cc=s.ToCharArray();

 
4.Char[] 轉換成string


view plaincopy to clipboardprint?
using System.Text;   
  
StringBuilder sb=new StringBuilder();   
foreach(char c in cc)   
{   
  sb.Append(c);   
}   
string s=sb.ToString();  
 using System.Text;

 StringBuilder sb=new StringBuilder();
 foreach(char c in cc)
 {
   sb.Append(c);
 }
 string s=sb.ToString();
 

5.byte[] 與 string

view plaincopy to clipboardprint?
byte[] bb=Encoding.UTF8.GetBytes(ss);   
  
string s=Encoding.UTF8.GetString(bb);  
 byte[] bb=Encoding.UTF8.GetBytes(ss);

 string s=Encoding.UTF8.GetString(bb);


發佈了2 篇原創文章 · 獲贊 40 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章