为什么需要编码检测
中文乱码的根本原因是编码不匹配——文件用GBK编码保存,但用UTF-8打开(或反过来)。常见编码:
| 编码 | 特点 | 常见场景 |
|---|---|---|
| UTF-8 | 变长,中文3字节 | Web、现代系统默认 |
| GBK | 固定2字节 | Windows中文版旧文件 |
| GB2312 | GBK子集 | 更早期的中文系统 |
| Big5 | 繁体中文 | 台湾/香港旧系统 |
| Shift_JIS | 日文 | 日语文件 |
检测原理
工具使用TextDecoder API逐一试探各种编码:对每种编码尝试解码,统计解码成功率和可读字符比例,按综合得分排序。
提示:"锟斤拷"是UTF-8的替换字符(U+FFFD)被GBK二次解码的结果——说明原始编码很可能是UTF-8。
注意:编码检测是概率性的,短文本可能无法准确判断。建议结合文件来源和上下文综合判断。