我正在尝试转换UTF-8到美国国家标准编码。
但它显示西欧 (Windows)-1252代替美国国家标准。
它们是同一件事吗?我应该继续吗?
答案1
Windows-1252 和 ANSI 编码有什么区别?
见下文。实际上,它可能不会对您的转换产生太大影响。
如果您保留原始文件的副本,那么您可以随时在必要时应用不同的转换。
话虽如此,还是有办法的将 UTF-8 转换为 ANSI。
Windows-1252
此字符编码在可打印字符方面是 ISO 8859-1 的超集,但与 IANA 的 ISO-8859-1 不同,它使用可显示字符而不是 80 到 9F(十六进制)范围内的控制字符。值得注意的附加字符包括弯引号和 ISO 8859-15 中的所有可打印字符。Windows 将其称为代码页号 1252 和 IANA 认可的名称“windows-1252”。
...
从历史上看,Windows 中使用短语“ANSI 代码页”(ACP) 来指代被视为本机的各种代码页。其意图是其中大部分将是 ANSI 标准,例如 ISO-8859-1。尽管 Windows-1252 是第一个也是迄今为止最流行的以 Microsoft Windows 用语命名的代码页,但该代码页从未成为 ANSI 标准。Microsoft 解释说,“用于表示 Windows 代码页的术语 ANSI 是一个历史参考,但现在已成为 Windows 社区中仍然存在的误称。
请注意,尽管微软做出上述声明,但他们仍然将 Windows 1252 称为“ANSI”:
答案2
Windows-1252 和 ANSI 是一回事吗?
– 是的,西欧语言,它们是完全相同的编码 。1
对于其他自然语言,请参阅 这个答案。
不幸的是,维基百科上关于这个主题的页面,这和
这,
充斥着令人困惑的陈述和未经引用的主张。
你最好直接去
其中一个来源维基百科做参考。
它写于 2002 年 5 月,内容如下:
用来表示 Windows 代码页的术语“ANSI”是一个历史参考,但现在已成为 Windows 社区中仍然存在的误称。其根源在于 Windows 代码页 1252 最初基于 ANSI 草案,该草案成为 ISO 标准 8859-1。但是,在向 ISO 标准中为控制代码保留的范围添加代码点时,Windows 代码页 1252 和后续 Windows 代码页最初基于 ISO 8859-x 系列,偏离了 ISO。直到今天 [2002 年 5 月],微软内部和外部的开发社区经常将 8859-1 代码页与 Windows 1252 混淆,并且使用“ANSI”或“A”来表示 Windows 代码页支持。
参考
- 显示 Windows-1252 字符集的图表 | 第 4 部分
- 包含所有十个 Windows 代码页的表格的帖子
- Windows-1252 | 维基百科
- ISO/IEC 8859-1 | 维基百科
- Unicode 和 Windows XP | Cathy Wissink,微软
1 为图表显示 Windows-1252 字符集,请参见本帖第 4 部分。