Convert.ToBase64String 与 Encoding.GetString 区别

二者都是将 byte[] 转换成字符串,一个区别在于 Convert.ToBase64String 使用 base 64 数字编码,所以它生成的全部是 ASCII 字符。

而 Encoding.GetString 就是转换成我们平常所认识的字符串。

一些加密方法返回 byte[],此时我们要转换成字符串用哪个呢?

利用 Encoding.GetString 转换,可能得到很多方块或问号,这是由于某些整数序列无法对应于我们现实生活中的文字的原因,只能用方块或问号来代替。

所以我们一般还是用 Convert.ToBase64String 来进行。

那么从另一方面,字符串转换成 byte[] 用哪个呢?是不是一定要用 FromBase64String 呢?

不是的,我们普通的文字并不是 base 64 编码的,不能使用 FromBase64String 转换成 byte[],比如:FromBase64String("ITPOW") 就会出错,因为“ITPOW”并不是 base 64 编码的。

相关阅读

  • Base64 编码简介
  • C# 中 string、byte[]、Stream 之间的转换

你可能感兴趣的