c# - UTF8/UTF16和Base64在编码方面有什么区别

标签 c# encoding utf-8 base64

在。 C#

我们可以使用下面的类来进行编码:

  • System.Text.Encoding.UTF8
  • System.Text.Encoding.UTF16
  • System.Text.Encoding.ASCII

为什么没有System.Text.Encoding.Base64

只能用Convert.From(To)Base64String方法,base64有什么特别的?

我能说base64和UTF-8是同一种编码方式吗?或者 UTF-8 是 base64 之一?

最佳答案

UTF-8UTF-16 是将 Unicode 字符串编码为字节序列的方法。

参见:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

Base64 是一种将字节序列编码为字符串的方法。

因此,这些是截然不同的概念,不应混淆。

注意事项:

  • 并非每个字节序列都表示以 UTF-8 或 UTF-16 编码的 Unicode 字符串。

  • 并非每个 Unicode 字符串都表示以 Base64 编码的字节序列。

关于c# - UTF8/UTF16和Base64在编码方面有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866316/

相关文章:

c# - NLog CPU 性能问题

c# - 在代码迁移中如何使用LINQ将一张表中的数据插入到其自身上?

ios - 获取 .strings 文件的文本

regex - 替换字符串中的表情符号会导致奇数字符

css - 在中文浏览器中正确显示CSS字体

java - 如何获取字符串的编码版本(例如\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u0430\u044f)

c# - Xamarin iOS - 如何在绑定(bind)库时包含依赖项?

c# - 如何使用 AWS S3 API 以非递归方式浏览目录的内容?

ruby-on-rails - 测试 Rails 中对无效 UTF-8 的优雅处理

c# - Base64 在 SQL 中编码一个 utf8 字符串