小编典典

Unicode 和 UTF-8 有什么区别?

all

考虑:

替代文字

这是真的unicode=utf16吗?

许多人说 Unicode 是一种标准,而不是一种编码,但实际上大多数编辑器都支持另存为 Unicode 编码


阅读 86

收藏
2022-06-06

共1个答案

小编典典

大多数编辑器实际上支持另存为“nicode”编码。

这是 Windows 犯下的不幸的错误命名。

因为 Windows 在内部使用 UTF-16LE 编码作为 Unicode 字符串的内存存储格式,所以它认为这是 Unicode 文本的自然编码。在
Windows 世界中,有 ANSI 字符串(当前机器上的系统代码页,完全不可移植)和 Unicode 字符串(内部存储为 UTF-16LE)。

这一切都是在 Unicode 的早期设计的,在我们意识到 UCS-2 还不够,在 UTF-8 被发明之前。这就是为什么 Windows 对 UTF-8
的支持很差的原因。

这种被误导的命名方案成为用户界面的一部分。使用 Windows 的编码支持来提供一系列编码的文本编辑器会自动且不恰当地将 UTF-16LE
描述为“nicode”,而将 UTF-16BE(如果提供)描述为“nicode big-endian”。

(其他自己进行编码的编辑器,比如 Notepad++,没有这个问题。)

如果它让您感觉更好,“NSI”字符串也不基于任何 ANSI 标准。

2022-06-06