用户登录  |  用户注册
首 页源码下载网络学院最新源码源码排行屏蔽广告
当前位置:新兴网络 > 网络学院 > .Net技术 > C#

C#中字符串string与byte[]数组互转

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-06-05 10:59:44
C# code复制代码
//String To Byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);

//Byte[] To String:
string str = System.Text.Encoding.Default.GetString(byteArray);

其实,在System.Text.Encoding class中,还有很多其它有用的方法,像GetChars,从一个byte[]转成一个char[],等等,可以参考MSDN。

另外,还有其它编码方式的,如System.Text.UTF8Encoding class、System.Text.UnicodeEncoding class等,根据不同需要可选不同的class。

另外一种方法是如下:

名称 说明
BitConverter.ToString() 出现运行时错误时,发生此事件
BitConverter.ToString(Byte[]) 返回由字节数组的元素转换来的 String
BitConverter.ToString(Byte[], Int32) 返回由字节数组中从指定数组位置开始的元素转换来的 String
BitConverter.ToString(Byte[], Int32, Int32) 返回由字节数组中指定位置、指定数量的字节转换来的 String
BitConverter.ToString(Byte[]) 这个方法不行,得到的是byte数组的16进制字符串, 如"AH-0A-1A"

--引用--------------------------------------------------
如果是未知编码方式呢?
比如用FileStream从一个文件中读取了流到byte[]中,这时候并不知道这个文件的编码方式是gb2312还是utf-8,如何才能正确的取到string值?
--------------------------------------------------------
你可以试试这种解决方案: 

StreamReader sr = new StreamReader(new MemoryStream(byteArray));
string str = sr.ReadToEnd();

Tags:C# 字符串 互转

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      80%(12)
  • 差的评价 如果您觉得此文章差,就请您
      20%(3)

网络学院评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论