C# 基础回顾——字符串与字符数组的相互转换

之前一直没有写博客的习惯,就从今天开始养成吧。

正好今天在小城菇凉的博客里看到关于字符串与字节数组的相互转换的知识,有很详细的讲解:

https://www.cnblogs.com/xiaoqingshe/p/5882601.html

我这里主要摘录字符串与字节数组的相互转换:

//字符串转字节数组
var strToBytes1 = System.Text.Encoding.Default.GetBytes(str1);
这里Defaul是编码方式,类似的还可以是UTF-8、Unicode、ASCII等

 

//字节数组转字符串

var byteToString1 = System.Text.Encoding.UTF8.GetString(strToBytes1);
这里与上面类似就不多说了

还有要补充的一点:有时候我们按照指定的编码方式解析得到的字符串并是不我们想要的字符串,比如说:字节数组里存放着189 273 345,解析后可能得到汉字“我爱你”,而我们想要的是字符串“189 273 345”;我们可以尝试将字节数组中的每个元素ToString();

string strNew = "";
for (int i = 0; i < MD5Buffer.Length; i++)
{
    strNew += MD5Buffer[i].ToString("x2");
}
return strNew;

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

可以试试: 
StreamReader sr = new StreamReader(new MemoryStream(byteArray));

string str = sr.ReadToEnd();

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值