您的位置:首页 > 编程语言 > C#

C# byte[]与char[]、string与char[]、byte[] 与 string 互转

2016-12-07 15:56 671 查看


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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: