1

我想知道是否:

  1. 所有以 ANSI (1252) 编码的字符都可以毫无问题地转换为 UTF-8。
  2. 所有以 UTF-8 编码的字符都无法毫无问题地转换为 ANSI (1252)(例如:Ǣ 无法转换为 ANSI 编码)。

你能帮我确认它是正确的吗?

谢谢 !

4

1 回答 1

3

是的,Windows-1252 中可表示的所有字符都有 Unicode 等价物,因此可以转换为 UTF-8。有关显示到 Unicode 代码点的映射的表格,请参阅此 Wikipedia 文章

而且由于 Windows-1252 是一个 8 位字符集,而 UTF-8 可以表示数千个不同的字符,显然有很多字符可以表示为 UTF-8 而不能表示为 Windows-1252。

请注意,Windows-1252 编码的名称“ANSI”是完全不正确的。当它第一次被提出时,它的目的是成为一个 ANSI 标准,但这从未发生过。不幸的是,这个名字卡住了。(Microsoft 相关文档通常也将 UTF-16 称为“Unicode”,这是另一种用词不当;UTF-16 是 Unicode 的一种表示,但还有其他表示。)

于 2013-04-10T15:29:44.490 回答