Convert.ToBase64String(Byte[])和Encoding.UTF8.GetString(Byte[])的区别

Encoding.UTF8.GetString是针对使用utf8编码得到的字符串对应的byte[]使用,可以还原我们能看懂的字符串
Convert.ToBase64String是对任意byte[]都可使用,得到的是用字符串表示的byte[]信息 内容类似"Jwl9Kh+lPfmSPio//UpvbA=="


Base64有个优点,就是可以用文本格式传输,base64绝对不存在任何不可读的字符,也不存在关键字冲突字符,不需要转义。
缺点:Base64比起它的原始文本增大约30%。


二者都是将 byte[] 转换成字符串

一个区别在于 Convert.ToBase64String 使用 base 64 数字编码,所以它生成的全部是ASCII 字符。
而 Encoding.GetString 就是转换成我们平常所认识的字符串。

 

一些加密方法返回 byte[],此时我们要转换成字符串用哪个呢?
利用 Encoding.GetString 转换,可能得到很多方块或问号,这是由于某些整数序列无法对应于我们现实生活中的文字的原因,只能用方块或问号来代替。
所以我们一般还是用 Convert.ToBase64String 来进行。

 

那么从另一方面,字符串转换成 byte[] 用哪个呢?是不是一定要用 FromBase64String 呢?
不是的,我们普通的文字并不是 base 64 编码的,不能使用 FromBase64String 转换成 byte[],比如:
FromBase64String("MrZivChu的博客") 就会出错,因为“MrZivChu的博客”并不是 base 64 编码的。

对加密方法返回的byte[],用Convert.ToBase64String

对普通的文字操作,用Encoding.UTF8.GetBytes()

不过一个地方用Convert.ToBase64String来操作byte[]获得string,而另一个地方要用相同的byte[],

最好对应用 Convert.FromBase64String(string);

转载于:https://www.cnblogs.com/MrZivChu/p/ToBase64String.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值