Windows-1252 和 ANSI 编码有什么区别?

Windows-1252 和 ANSI 编码有什么区别?

我正在尝试转换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

请注意,尽管微软做出上述声明,但他们仍然将 Windows 1252 称为“ANSI”:

在此处输入图片描述

来源代码页 1252 Windows Latin 1 (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 代码页支持。

参考


1图表显示 Windows-1252 字符集,请参见本帖第 4 部分

相关内容