字符集转换器

深入洞察每个字符背后的字节序列。 无论是调试乱码、分析二进制数据,还是研究编码原理,这里都能为你提供最详尽的数据。

广告占位符 - 支撑免费工具运行

⌨️ 输入文本
字符数
0
UTF-8 字节
0
UTF-16 码元
0
最大码点
0
🔍 字符详情分析 (逐字符)
字符 Unicode 码点 UTF-8 (十六进制) UTF-16 (十六进制) 名称/范围

赞助商广告

为什么我的网页会出现乱码?

乱码是 Web 开发中最令人头疼的问题之一。它通常发生在 读取字节序列时使用了错误的解码方案 。 要彻底解决乱码,必须理解 UnicodeUTF-8 之间的关系。

🚨 场景 1:数据库存入正常,读取出来是“??”或“锟斤拷”

原因分析: “锟斤拷”是由于 UTF-8 编码的字符被错误地用 GBK 解码,然后再转回 UTF-8 导致的。 通过本工具,你可以输入原本的文字,查看它在 UTF-8 下真实的十六进制字节。 如果数据库中存的字节与此不符,说明在 写入阶段 就已经发生了编码转换错误。

🚨 场景 2:Emoji 表情导致后端报错或截断

原因分析: 传统的 MySQL `utf8` 编码其实只能存储最多 3 字节的字符,而像 🌍 (U+1F30D) 这样的 Emoji 在 UTF-8 下需要 4 字节。 使用本工具分析 Emoji,你会发现它的 UTF-8 序列是 4 组十六进制数。这提醒你必须将数据库编码改为 `utf8mb4`。

核心术语科普

  • Unicode :一套标准,为世界上几乎所有字符分配了一个唯一的数字(称为“码点”,如 U+4E2D)。
  • UTF-8 :一种变长的编码实现。它使用 1 到 4 个字节来表示一个码点。它是目前互联网上最通用的编码。
  • UTF-16 :JavaScript 引擎内部使用的编码方式。普通字符占 2 字节,特殊字符(如 Emoji)占 4 字节(代理对)。

如何使用本工具进行调试?

  1. 在上方框内输入你怀疑有问题的字符。
  2. 在下表中观察其 **UTF-8 十六进制** 序列。
  3. 对比你的后端日志、数据库原始二进制数据或抓包结果中的十六进制,寻找不一致的地方。