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


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值