Unicode 码点查询
开发者工具字符 ↔ U+码点 ↔ UTF-8 字节
答案速览
字符 ↔ U+码点 ↔ UTF-8 字节互查:"中" = U+4E2D = E4 B8 AD;emoji 超 U+FFFF 在 JS 中 length 为 2。
加载中
这个工具对你有帮助吗?
怎么用
- 字符查码点:输入任意字符(汉字、emoji、符号),得 U+码点、十进制、UTF-8 字节、HTML 实体。
- 码点查字符:输入 U+4E2D、0x4E2D 或 中 等格式反查字符。
- 多字符输入取首字:只解析第一个字符(含 emoji)。
- 前端/后端联调:乱码排查时核对码点与字节是否匹配。
核心要点
- 码点 ≠ 字节:"中"是 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
本工具提供的结果仅供参考,不构成任何专业建议,请以官方核算为准。