浏览器端未知编码检测器,支持一键载入示例、转换提示以及 16 种语言本地化文档。
工具功能
- 智能检测: 使用统计分析、BOM 检测、字符模式识别自动检测文本编码。支持 UTF-8/16/32、GBK、GB2312、Big5、Shift-JIS、ISO-8859 系列、Windows-1252,带置信度分数
- 字符集转换: 在任何支持的编码之间转换文本:UTF-8 ↔ GBK ↔ Big5,修复乱码问题,添加或删除 BOM 标记,正确处理代理对和组合字符
- 编码诊断: 识别编码问题:无效字节序列、同一文件中的混合编码、BOM 不匹配、代理对错误,带修复建议和详细错误报告
- 批量处理: 同时处理多个文件的编码检测,转换整个目录,保留文件结构,生成带统计信息和错误日志的转换报告
适用场景
- 遗留系统迁移: 在迁移财务、ERP 或政务系统时,将 GBK/Big5 档案批量转换为 UTF-8。
- 全球内容质检: 内容与 SEO 团队校验多语言站点、RSS 与邮件是否声明正确字符集以避免乱码。
- 数据接入流水线: 将合作方日志、CSV、ETL 输入导入数据仓库或 Spark 之前先验证编码。
- 开发调试: 审查 Git diff 或数据库导出时,快速定位 BOM 冲突与混合编码。
使用方法
- 上传或粘贴: 上传文本文件或粘贴文本内容进行编码分析
- 检测编码: 点击检测以自动识别编码,或在已知时手动指定
- 查看结果: 检查检测到的编码、置信度级别、BOM 存在和预览文本
- 根据需要转换: 选择目标编码,转换文本,下载或复制转换后的结果
生成原理
编码标准
字符编码的演变以支持不同语言:ASCII(1963,7 位,128 字符,英语)。ISO-8859 系列(8 位,256 字符,区域性:-1 拉丁文、-2 中欧、-5 西里尔文、-6 阿拉伯文)。亚洲语言的 DBCS(双字节):GB2312(1980,6763 个简体中文)、GBK(21886 个字符,GB2312 扩展)、Big5(13060 个繁体中文)、Shift-JIS(日语,复杂字节规则)。Unicode 联盟创建通用编码:UTF-8(可变 1-4 字节,ASCII 兼容,Web 标准)、UTF-16(2 或 4 字节,Windows/Java 默认,需要 BOM)、UTF-32(固定 4 字节,浪费但简单)。现代系统更喜欢 UTF-8 用于存储,UTF-16 用于内存处理。
检测算法
编码检测使用多种技术:1) BOM 检测:UTF-8 (EF BB BF)、UTF-16 LE (FF FE)、UTF-16 BE (FE FF)、UTF-32 LE (FF FE 00 00)。2) 统计分析:字符频率分布、字节模式、有效字节序列。chardet (Python)、ICU (C++)、jschardet (JavaScript) 等库使用字符 n-gram 和在样本文本上训练的语言模型。3) 验证:检查字节是否为编码形成有效序列(UTF-8 有特定的延续字节规则,GB2312 有定义的代码范围)。4) 启发式方法:文件扩展名 (.txt)、HTTP 头(charset)、XML 声明(<?xml encoding="">)。置信度分数组合多个信号。短文本或罕见字符会出现误报。
编码转换
编码之间的转换需要:1) 使用源编码将源字节解码为 Unicode 代码点。2) 将代码点编码为目标编码。挑战:不可映射字符(并非所有 Unicode 字符都存在于旧编码中)- 使用替换字符 (�)、HTML 实体或错误处理。规范化:Unicode 对同一字符有多种表示(é 可以是单个代码点 U+00E9 或 e + 组合重音),NFC 规范化为组合,NFD 为分解。BOM 处理:为 UTF-16/32 添加,UTF-8 可选(通常省略)。行尾:CRLF(Windows)vs LF(Unix)需要单独处理。大文件的流式转换处理带有状态解码器的块,在块之间保持上下文。
常见问题
- 编码检测的准确度如何?
- 检测器结合 BOM 检测、统计分析和字节模式验证来估计最可能的字符集。每次运行还会显示置信度分数,让您知道何时需要额外的人工审查。
- 检测后可以转换文本吗?
- 可以。一旦识别出编码,您可以选择任何目标字符集,在浏览器中完全转换文本,并下载或复制转换后的输出,无需上传文件。
- 添加或删除 BOM 选项有什么作用?
- BOM(字节顺序标记)是 UTF 文件开头的可选签名。添加 BOM 可以帮助某些 Windows 工具检测编码,而删除它可以使文件在 UNIX 环境中保持精简。根据文本的使用场景切换此选项。
- 为什么转换后仍然看到乱码?
- 如果文本之前使用错误的字符集解码,损坏可能已经保存。请尝试重新加载原始文件,确保选择了正确的源编码,然后再次转换。单个文件中的混合编码也会产生乱码。
- 我的文本会被上传或存储吗?
- 不会。检测和转换完全在您的浏览器中进行。文件永远不会离开您的设备,因此机密文档保持私密。
相关文档
- Unicode 标准 - 官方 Unicode 字符编码规范
- RFC 3629 - UTF-8 规范 - UTF-8 编码格式标准
- GB18030 中文编码 - 中国国家标准字符编码
- ICU 字符编码检测 - Unicode 国际组件检测库
- 字符编码最佳实践 - W3C 处理字符编码的指南