【发布时间】:2012-02-04 01:03:01
【问题描述】:
我认为英文 .txt 是 Latin-1,但它可能包含其他编码的片段。是否有库或工具可以定位这些片段?
我知道 Python chardat 库之类的东西,但我特意寻找一种工具来测试 Latin-1 文件并检测异常。即使是常规检测库也可以,如果它能够告诉我它检测到非拉丁 1 模式的点并给我索引。
命令行工具和 Python 库尤其受欢迎。
【问题讨论】:
-
我感觉到你的痛苦,你有没有尝试过类似enca的方法?
-
Enca 看起来很完美,但奇怪的是,它似乎不支持英语。只是一堆东欧语言。真的很奇怪,因为有大量的英文文档。
-
您能举出异常的例子吗?您在寻找 UTF8 还是其他 8 位字符集?代码点 0x80-0x9F 在拉丁语中未定义,但除此之外,所有序列都是有效的。如果您正在寻找类似 KOI-8r 与拉丁语混合的内容,字母频率和 n-gram 字母序列是一个很好的启发式方法,但无法确定每个字符。
-
对于英语,您可以容忍任何被 7 位包围的单个 8 位字符,可能标记为手动检查任何相邻 8 位字符的短序列,并且默认为非英语任何更长的序列8 位数据。
-
您是否考虑过让生成文件的人感到痛苦?
标签: python unicode encoding latin1