五岁小站 - 免费在线工具箱

加载中...

检测方式
检测选项

检测流程:先识别 BOM 字节序标记,再做 UTF-8 严格合法性校验与 UTF-16 零字节分布判断,最后交给 jschardet 做统计模型打分,三层结果合并后给出结论。

字节读取、编码判定、解码预览与转码导出全部在浏览器内存中完成,文件与文本不会发送到服务器。编码判定属于概率推断,重要数据请结合预览结果人工确认。
选择待检测文件
把文件拖到这里,或 点击选择文件
适用于 txt / csv / json / xml / html / md / log / sql 以及各类源码文件,单个文件建议不超过 20MB
粘贴字节序列
粘贴乱码文字

原理:把屏幕上看到的乱码字符按某个编码还原成原始字节,再换另一个编码重新解码,逐一组合打分后给出最可能的原文。

粘贴文本

浏览器里的文本已经是 Unicode 字符,不再保留来源编码信息,因此纯文本无法反推原编码;本模式改为分析它可以用哪些编码安全保存。要判定来源编码,请使用文件或字节序列模式。

检测结果
-
-
置信度 -
其他候选编码
解码预览
还原候选
可信度推断链路还原结果操作
点击「开始检测」后,这里会列出最可能的原文
各编码表现
编码字节数覆盖情况无法表示的字符
编码判定到底在判什么
同一串二进制字节,换一套编码表去读,就会读出完全不同的文字。一份用 GBK 保存的旧报表被 UTF-8 打开会变成问号方块,一段 UTF-8 的 JSON 被 Windows 记事本按本地编码读取则会冒出「浣犲ソ」这样的怪字。本工具直接拿到文件的原始字节,先看有没有 BOM 这种明确标记,再按 UTF-8 的多字节规则逐字节验证,接着统计零字节在奇偶位的分布来识别 UTF-16,最后用 jschardet 的字符频率模型为 GBK、Big5、Shift_JIS、EUC-KR、Windows-125x 等编码分别打分。几层结果合并后,你拿到的不只是一个编码名字,还有可以当场切换编码查看的解码预览,以及一键转存 UTF-8 的能力。
四种模式怎么选
文件编码检测:手上有具体文件时首选。拖进来即可看到编码结论、字节数、换行风格和解码预览,确认无误后直接另存为 UTF-8。
字节序列检测:只拿到一串十六进制或 Base64(比如抓包、日志、数据库 BLOB 字段)时使用,粘贴进来即按同一套算法判定。
乱码还原:文字已经显示成乱码、拿不到原始文件时使用。工具会穷举「用什么编码读错 × 原本是什么编码」的组合,按中日韩字符比例和替换符数量打分排序。
文本编码分析:准备把内容存成 GBK、Big5 等老编码前使用,提前看清字节占用,以及哪些生僻字、emoji、特殊符号会丢失。
常见编码速查
编码特点典型来源中文占用
UTF-8Unicode 的变长实现,1 到 4 字节,ASCII 完全兼容,字节序列有严格的前缀规则,因此可以被精确校验网页、接口、Git 仓库、macOS 与 Linux常用汉字 3 字节
UTF-8 BOM文件头多出 EF BB BF 三字节,Windows 记事本的默认行为,会让部分解析器读到多余字符Windows 记事本、旧版 Excel 导出常用汉字 3 字节
GB2312 / GBK / GB18030逐代扩充的中文国标,GB2312 收录 6763 字,GBK 补齐繁体与罕用字,GB18030 向上兼容并覆盖全部 UnicodeWindows 中文系统、国产旧软件导出常用汉字 2 字节
Big5繁体中文双字节编码,次字节范围与 GBK 重叠,短文本容易与 GBK 互相误判台湾、香港地区的旧文档常用汉字 2 字节
Shift_JIS日文编码,单字节半角片假名与双字节汉字混排,是日文系统 CSV 的常客日文 Windows、日系设备导出汉字 2 字节
EUC-KR韩文编码,覆盖谚文音节与汉字,双字节结构韩文旧系统谚文 2 字节
Windows-1252西欧单字节编码,ISO-8859-1 的超集,中文 UTF-8 字节被它读出来就是经典的 ä½ å¥½ 型乱码欧美旧网页、旧邮件不支持中文
UTF-16 LE / BE定长 2 字节为主,ASCII 字符会夹带大量 00 字节,零字节落在奇位还是偶位决定字节序Windows API 导出、部分数据库常用汉字 2 字节
常见问题

为什么粘贴普通文本不能检测出原来的编码?

文本一旦被粘贴进浏览器,就已经是解码完成的 Unicode 字符,原始字节和来源编码都已经丢失,再检测只会恒定得到 UTF-8,没有参考价值。所以本工具把这件事拆成了两条可靠路径:有文件就用文件模式读原始字节,只有字节串就用字节序列模式,两者判定的都是真实数据。

GBK 和 GB2312 的结果为什么经常互相串?

GB2312 是 GBK 的子集,二者字节结构一致,统计模型只能根据用字范围给出倾向性判断。实际处理时按 GB18030 解码最稳妥,它向上兼容 GB2312 与 GBK,不会因为出现罕用字而解码失败。

乱码还原失败或者结果仍然是乱码?

如果乱码里出现了大量问号或菱形问号,说明原始字节在上一次解码时就已经被替换符覆盖,信息不可逆地丢了,任何工具都无法完整还原。这种情况只能回到最初的文件重新按正确编码读取。另外,还原依赖足够长的样本,几个字的片段打分区分度很低,建议多贴一些内容。

检测结果和预览对不上该信哪个?

以预览为准。统计模型对短文本、纯数字表格、代码文件的区分能力有限,而预览是用真实解码器跑出来的结果。切换下拉框逐个试,哪个编码读出来的文字通顺就用哪个,再另存为 UTF-8。

大文件会不会把浏览器卡死?

不会。文件按字节读入后,统计模型只取开头约 512KB 作为样本,解码预览也按设定的字符上限截断,因此几十 MB 的日志也能快速出结果。文件始终留在本机内存,不产生任何网络请求。

另存为 UTF-8 时要不要勾 BOM?

给 Excel 打开的 CSV 建议带 BOM,否则中文会乱码;其余场景一律选不带 BOM 的版本,很多编译器、解析器和 Shell 脚本会把 BOM 当成正文内容从而报错。

🍵 若这份小工具帮到了你

不必多,一杯茶的心意,就是我们继续把它打磨得更好用的动力 🌿

微信 / 支付宝收款码