跳到主内容

Unicode 码点查询

开发者工具

字符 ↔ U+码点 ↔ UTF-8 字节

答案速览

字符 ↔ U+码点 ↔ UTF-8 字节互查:"中" = U+4E2D = E4 B8 AD;emoji 超 U+FFFF 在 JS 中 length 为 2。

加载中

这个工具对你有帮助吗?

怎么用

  1. 字符查码点:输入任意字符(汉字、emoji、符号),得 U+码点、十进制、UTF-8 字节、HTML 实体。
  2. 码点查字符:输入 U+4E2D、0x4E2D 或 中 等格式反查字符。
  3. 多字符输入取首字:只解析第一个字符(含 emoji)。
  4. 前端/后端联调:乱码排查时核对码点与字节是否匹配。

核心要点

  • 码点 ≠ 字节:"中"是 1 个码点(U+4E2D),UTF-8 占 3 字节(E4 B8 AD)。
  • emoji 长度陷阱:😀 = U+1F600,超出 U+FFFF,JS 中 "😀".length === 2(UTF-16 代理对),截断字符串会切出乱码。
  • UTF-8 变长:ASCII 1 字节、常用汉字 3 字节、emoji 4 字节——按字节截断必坏字。
  • HTML 实体:中 十进制、中 十六进制,防止特殊字符被解析。

原理与公式

Unicode 与 UTF-8

码点(Code Point):字符的唯一编号,记作 U+XXXX(如"中" = U+4E2D)
UTF-8 变长编码:U+0000–007F → 1 字节;U+0080–07FF → 2 字节;U+0800–FFFF → 3 字节;U+10000 以上 → 4 字节
UTF-16:U+FFFF 以内 1 码元,之外用代理对(2 码元)——所以 "😀".length === 2(JS)
HTML 实体:中(十进制)或 中(十六进制)

示例:"中" → U+4E2D,UTF-8 字节 E4 B8 AD,HTML 中。

常见问题

为什么 MySQL 存 emoji 报错了?
旧 utf8 编码只支持 3 字节字符,emoji 需 4 字节。改用 utf8mb4 编码即可(utf8mb4_0900_ai_ci 排序规则)。
U+FE0F 是什么?
变体选择符 VS16,跟在基础字符后强制以 emoji 样式显示(如 ✈︎ → ✈️)。它本身不可见,但占一个码点。
怎么在 JS 里正确遍历 emoji 字符串?
用 for...of 或 [...str](按码点迭代),不要用 str[i](按 UTF-16 码元,会拆碎代理对)。
乱码"涓"是怎么来的?
典型 GBK/UTF-8 解码错配:UTF-8 字节被按 GBK 解析。先确认真实字节,再用正确编码解码即可恢复。

相关工具

相关指南

来源与更新

码点与 UTF-8 编码规则依据 Unicode 标准(当前 15.x);UTF-16 代理对行为按 ECMAScript 规范说明。

最近更新

本页公式与内容经一键算团队复核,仅供学习参考,实际业务请以官方口径为准。

引用本页一键算. Unicode 码点查询[EB/OL]. https://www.yijiansuan.com/c/dev/unicode

本工具提供的结果仅供参考,不构成任何专业建议,请以官方核算为准。