奇怪的编码替换

时间:2012-05-28 09:21:57

标签: character-encoding

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

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

它具有所有双重编码替换:

À    à    Á
    Â

不幸的是,我还有其他奇怪的人物,如:

ú
ç
ö

你对如何清理这些奇怪的角色有所了解吗?对于那些我知道的我刚刚制作了一个bash脚本,我刚刚更换了它们。但我不知道如何识别其他人。我正在linux上运行,所以如果你有一些我想要的魔术命令。

1 个答案:

答案 0 :(得分: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解码。