0

我有一个文件。我不知道它是如何处理的。这可能是双重编码。我发现这个关于双重编码的链接几乎解决了我的问题:

http://www.spamusers.com/encoding.htm

它具有所有双重编码替换,例如:

À    à    Á
    Â

不幸的是,我还有其他奇怪的角色,例如:

ú
ç
ö

你知道如何清理这些奇怪的字符吗?对于我知道的那些我刚刚制作了一个 bash 脚本并且我刚刚替换了它们。但我不知道如何识别其他人。我在 linux 上运行,所以如果你有一些魔法命令,我会喜欢的。

4

1 回答 1

0

您链接到的“双重编码替换”页面似乎包含旨在修复双重 UTF-8 编码的字符数据的映射。因此,正确的修复程序是反转此类映射并查看结果是否有意义。

例如,如果您使用重音符号 A、À、U+00C0 和 UTF-8 对其进行编码,您将得到字节 C3 A0。例如,如果这些被错误地理解为根据 windows-1252 的单字节编码,则会得到字符 U+00C3 U+00A0(字母 à 和不间断空格)。如果这些是 UTF-8 编码的,则前者为 C3 83,后者为 C2 80。如果这些字节依次根据 windows-1252 进行解释,您将获得页面上的 À。

但你实际上并没有“À”,对吗?你有一些数字数据,字节,如果根据 windows-1252 解释,就会以这种方式显示。但这将是一个错误的解释。

您应该首先以 UTF-8 编码读取数据,将其解码为字符,检查所有代码是否小于 100 个十六进制(如果不是,则在某处涉及另一个错误),然后再次 UTF-9 解码。

于 2012-05-28T10:49:47.857 回答