Python 字符编码检测器
通用字符编码检测器。 chardet 7 是对 chardet 的从零开始、采用 0BSD 许可的重写版本。 相同的包名,相同的公共 API——可直接替代 chardet 5.x/6.x,只是更快、更准确。 ZZTERMZZ0 3.10+,零运行时依赖,支持 PyPy。
在 3,138 个测试文件上达到 99.7% 的准确率。比 chardet 6.0.0 快 315 倍, 并且比 charset-normalizer 3.5.1 准确率高 13.1 个百分点,同时速度还快 1.2 倍。每个结果都包含语言检测。二进制文件支持 MIME 类型检测。 采用 0BSD 许可。
大输入不需要字节上限:对 272 MiB 的文件执行 detect(data, max_bytes=len(data)) 大约在 0.13-0.23 秒内完成,且 UTF-8 判定会验证所检查的每个字节,而非采样。完整的大输入表格请参见。
| chardet 7.6.1.dev(编译版) | chardet 6.0.0 | [charset-normalizer] 3.5.1 | |
|---|---|---|---|
| 准确率(3,138 个文件) | 99.7% | 84.4% | 86.6% |
| 速度 | 2,641 文件/秒(641 纯 Python) | 9 文件/秒 | 2,250 文件/秒 |
| 语言检测 | 91.8% | 38.7% | 54.8% |
| 峰值内存 | 27.7 MiB | n/a | 71.0 MiB |
| 流式检测 | 是 | 是 | 否 |
| 编码时代过滤 | 是 | 否 | 否 |
| 编码过滤器 | 是 | 否 | 是 |
| MIME 类型检测 | 是 | 否 | 否 |
| 支持的编码 | 99 | 84 | 99 |
| 许可证 | 0BSD | LGPL |
Read more details about the rewrite process. the performance docs
暂无开放 Issues,或尚未同步最近议题。