不知道原码是什么,所以假设原码是IBM850或者ISO8859-1。下面我的流程
IBM850 -> UTF8
如果可以,我认为原始代码是 IBM850,如果不可以,请执行下一步:ISO8859-1 -> UTF8
如果可以的话,我认为原始代码是 UTF8。
但是有一个问题,如果原码是ISO8859-1,会被IBM850识别。如果原始代码是 IBM850,它将被识别为 ISO8859-1。
IBM850 和 ISO8859-1 之间似乎有共同点。
谁能帮帮我,谢谢。
不知道原码是什么,所以假设原码是IBM850或者ISO8859-1。下面我的流程
IBM850 -> UTF8
如果可以,我认为原始代码是 IBM850,如果不可以,请执行下一步:
ISO8859-1 -> UTF8
如果可以的话,我认为原始代码是 UTF8。
但是有一个问题,如果原码是ISO8859-1,会被IBM850识别。如果原始代码是 IBM850,它将被识别为 ISO8859-1。
IBM850 和 ISO8859-1 之间似乎有共同点。
谁能帮帮我,谢谢。
是的,通过测试转换是失败还是成功,只有最简单的自动检测是可能的。它不适用于(几乎)任何输入都有效的输入编码。
您应该对可能的输出有更多的了解,以测试从 翻译IBM850
或 从翻译后是否更有意义ISO8859-1
。这就是enca
做libenca
什么。您可能可以从一些简单的期望开始检查:
ASCII
两种编码的子集中?然后你对任何转换都很满意(但你根本无法知道原始编码)。IBM850
。ISO8859-1
?如果没有,很容易拒绝一些候选ISO8859-1
代码点0x80
-0x9F
是否使用。