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


你可能感兴趣的:(WPF,C#)