编码问题:解码怪物角色/ mojibake字符串

时间:2012-09-24 04:13:13

标签: character-encoding

我有一个“怪物角色”的句子(有人发给我)。

  

æ 該ååè¬ :å ¨åå¶è£æ ¯ä¸åå ää»¥è¬ æ° ä»»ç ã AEA»¥,   æ æ ç ¶å ºç ¾ç³¾ç' ,ä¸ ä½ ä¸ å ¯ä»¥ç é ,   é å ¯è ½æ ç¯ å¤ ç æ ...ä½ å¤§ç ,å ¯æ è® ä¸ è® ...

有没有办法将它解码回普通字符?

2 个答案:

答案 0 :(得分:1)

从理论上讲,这是可能的。

您可以撤消各种编码。例如,有一个用俄语here执行此操作的工具。

当然,自动执行此操作会好得多;这可以做到,因为类似的东西在打开文件时由Microsoft Word等程序完成。如果您尝试使用Word打开二进制文件,您会看到它有时会提示您选择编码,因为它找不到编码,并显示最可能的编码列表。

我认为这样做的方法是检查有关字符出现的统计信息。例如,在英语中,“e”和“t”比“q”和“j”更频繁地发生。这是众所周知的;由于这个原因,莫尔斯电码只使用一个点和一个短划线表示“e”和“t”,四个点和短划线表示“q”和“j”。

因此,这样做的一个低调工具可能会尝试很多编码组合(很多!)并检查哪一个看起来最像真实语言。

其他启发式方法可能是每种语言的字典,但这开始变得非常密集。

答案 1 :(得分:0)

这个答案并不是真正的解决方案,但是互联网上有一些软件提供了可以完成工作的编码修复功能。

其中一个是中文软件(http://www.cpatch.org/thread-12818-1-1.html)。我把链接放在这里,万一有人正在寻找它。

我尝试使用PHP函数mb_detect_encodingiconv,但它们都不能成功转换字符串。由于复制和粘贴不完整,数据可能会永久丢失。