欢迎来到天天文库
浏览记录
ID:8801508
大小:27.00 KB
页数:2页
时间:2018-04-08
《c#字节数组转换成字符串》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C#字节数组转换成字符串如果还想从System.String类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了。为了进行这样的转换,我们不得不借助另一个类:System.Text.Encoding。该类提供了bye[]GetBytes(string)方法将字符串转换成字节数组,还提供了stringGetString(byte[])方法将C#字节数组转换成字符串。System.Text.Encoding类似乎没有可用的构造函数,但我们可以找到几个默认的Encoding,即Encoding.Default(获取系统的当前ANSI代码页的编码)、Encod
2、ing.ASCII(获取7位ASCII字符集的编码)、Encoding.Unicode(获取采用Little-Endian字节顺序的Unicode格式的编码)、Encoding.UTF7(获取UTF-7格式的编码)、Encoding.UTF8(获取UTF-8格式的编码)等。这里主要说说Encoding.Default和Encoding.Unicode用于转换的区别。在字符串转换到字节数组的过程中,Encoding.Default会将每个单字节字符,如半角英文,而把每个双字节字符,如汉字。而Encoding.Unicode则会将它们都转换成两个字节。我们可以通
3、过下列简单的了解一下转换的方法,以及使用Encoding.Default和Encodeing.Unicode的区别:privatevoidTestStringBytes(){strings="C#语言";byte[]b1=System.Text.Encoding.Default.GetBytes(s);byte[]b2=System.Text.Encoding.Unicode.GetBytes(s);stringt1="",t2="";foreach(bytebinb1){t1+=b.ToString("")+"";}foreach(bytebinb2){t
4、2+=b.ToString("")+"";}this.textBox1.Text="";this.textBox1.AppendText("b1.Length="+b1.Length+"");this.textBox1.AppendText(t1+"");this.textBox1.AppendText("b2.Length="+b2.Length+"");this.textBox1.AppendText(t2+"");}运行结果如下,不说详述,相信大家已经明白了。b1.Length=66735211239209212b2.Length=86
5、703502371390138将C#字节数组转换成字符串,使用Encoding类的stringGetString(byte[])或stringGetString(byte[],int,int)方法,具体使用何种Encoding还是由编码决定。在TestStringBytes()函数中添加如下语句作为实例:byte[]bs={97,98,99,100,101,102};stringss=System.Text.Encoding.ASCII.GetString(bs);this.textBox1.AppendText("Thestringis:"+ss+""
6、);运行结果为:Thestringis:abcdef
此文档下载收益归作者所有