Encodage utilisé (INPUT) : UTF-8 Forme recherchée : 源 _________________________________________________________________________________________________ * Ligne n°40 : 结果证明,是的,它存在。所有主流的浏览器都有字符编码自动检测的功能,因为因特网上总是充斥着大量缺乏编码信息的页面。Mozilla Firefox包含有一个自动检测字符编码的库,它是开源的。我将它导入到了Python 2,并且取绰号为chardet模块。这一章中,我会带领你一步一步地将chardet模块从Python 2移植到Python 3。 * Ligne n°87 : 希伯来语被作为一种特殊的情况处理。如果在双字符分布分析中,文本被认定为是希伯来语,HebrewProber(在hebrewprober.py中定义)会尝试将其从Visual Hebrew(源文本一行一行地被“反向”存储,然后一字不差地显示出来,这样就能从右到左的阅读)和Logical Hebrew(源文本以阅读的顺序保存,在客户端从右到左进行渲染)区别开来。因为有一些字符在两种希伯来语中会以不同的方式编码,这依赖于它们是出现在单词的中间或者末尾,这样我们可以合理的猜测源文本的存储方向,然后返回合适的编码方式(windows-1255对应Logical Hebrew,或者ISO-8859-8对应Visual Hebrew)。 * Ligne n°97 : 我们将要开始移植chardet模块到Python 3了。Python 3自带了一个叫做2to3的实用脚本,它使用Python 2的源代码作为输入,然后尽其可能地将其转换到Python 3的规范。某些情况下这很简单 — 一个被重命名或者被移动到其他模块中的函数 — 但是有些情况下,这个过程会变得非常复杂。想要了解所有它能做的事情,请参考附录,使用2to3将代码移植到Python 3。接下来,我们会首先运行一次2to3,将它作用在chardet模块上,但是就如你即将看到的,在该自动化工具完成它的魔法表演后,仍然存在许多工作需要我们来收拾。