验证字体缺失字形
网页设计师在选配中文字体时,发现某个生僻字「𪚥」在预览器里显示为空白方块。使用本工具按区段浏览「CJK 统一表意文字扩展 B」,确认该字确实不在当前字体覆盖范围内。通过区段索引快速定位到该字所属的扩展区,对比不同字体文件的字形覆盖表,避免上线后用户端出现缺字乱码。
开发者工具 · HTTP / 网络速查
区段索引 + 名字 + 浏览
排版时遇到一个乱码字符,想查它属于哪个区段、叫什么名字,翻页找很慢。这个工具把全部 Unicode 区段按编号排列,点开就能看到该区段内所有字符的名字和图形。字符数据来自 Unicode 官方标准,查询在浏览器本地完成,不向服务器发送任何信息。
网页设计师在选配中文字体时,发现某个生僻字「𪚥」在预览器里显示为空白方块。使用本工具按区段浏览「CJK 统一表意文字扩展 B」,确认该字确实不在当前字体覆盖范围内。通过区段索引快速定位到该字所属的扩展区,对比不同字体文件的字形覆盖表,避免上线后用户端出现缺字乱码。
古籍数字化项目的校对员发现 OCR 将「㠯」(U+322F)误识别为「已」。打开本工具,在「中日韩部首补充」区段找到「㠯」的官方字形和 Unicode 编号,对照原书扫描件确认该字符的正确性。利用区段浏览功能,将同一部首下的所有变体逐一核对,半小时内完成 200 页的字符校验。
后端工程师收到用户反馈,某条字符串在控制台打印正常但存入数据库后长度异常。怀疑是零宽空格(U+200B)混入。用本工具在「一般标点符号」区段找到 U+200B 的官方名称「ZERO WIDTH SPACE」和十六进制编码,编写正则替换脚本清除所有不可见控制字符,数据库存储恢复正常。
游戏运营发现玩家昵称中出现倒置的问号(U+2E2E),导致排行榜渲染错位。用本工具在「补充标点」区段查到此字符的官方描述「REVERSED QUESTION MARK」和 Unicode 编号,在昵称过滤规则中新增该码位的拦截。同时顺带浏览相邻区段,发现并封禁了另外 3 个易混淆的装饰性符号。
本地化工程师收到韩语翻译文件,其中「한국어」在旧版软件中显示为乱码。用本工具在「谚文音节」区段找到每个韩文字符的 Unicode 编码范围(U+AC00~U+D7AF),确认文件实际使用了 EUC-KR 编码。通过区段索引快速定位到对应的编码表,将文件转存为 UTF-8 后乱码消除。
| 输入 | 输出 | 说明 |
|---|---|---|
| U+0041 | A (LATIN CAPITAL LETTER A) | 常规:最典型的基本拉丁字母,验证核心字符查询功能是否正常返回字符和官方名称。 |
| U+1F600 | 😀 (GRINNING FACE) | 常规:常见Emoji字符,验证工具是否支持BMP以外的补充平面字符(U+10000以上)。 |
| U+0000 | NULL (NUL) | 边界:码点0(空字符),验证工具是否能正确处理保留字符,而非报错或显示空白。 |
| U+10FFFF | (NON-CHARACTER) 或 未分配 | 边界:Unicode最大有效码点(U+10FFFF),验证工具是否识别码点范围上限,以及是否区分已分配/未分配/非字符。 |
| U+D800 | (SURROGATE) 或 未分配 | 边界:代理对区域(U+D800-U+DFFF),这些码点不能独立编码为字符,验证工具是否明确标注为代理区而非显示乱码。 |
| U+FEFF | (ZERO WIDTH NO-BREAK SPACE, BOM) | 易错:零宽不换行空格(也是BOM标记),用户常误以为它是空字符或格式控制符,验证工具是否给出完整名称和用途说明。 |
| U+200B | (ZERO WIDTH SPACE) | 易错:零宽空格,用户复制后可能看不到任何内容,验证工具是否明确显示字符名称并提示不可见特性。 |
| U+0300 | ̀ (COMBINING GRAVE ACCENT) | 易错:组合用附加符号,单独显示为变音符号,验证工具是否区分组合字符与普通字符,并说明其需要前接基字符。 |
1.把 Unicode 码点与 UTF-16 编码单元混淆
认为 U+1F600 占用 2 个字节,直接复制到 JavaScript 字符串长度判断使用 String.fromCodePoint(0x1F600) 获取字符,用 Array.from(str).length 统计实际字符数U+1F600(😀)的码点是 0x1F600,但 UTF-16 编码为两个代理对(0xD83D 0xDE00),占用 4 字节。JavaScript 的 .length 返回的是 UTF-16 编码单元数,不是码点数。
2.在 SQL 或 JSON 中直接插入原始 Unicode 字符导致编码损坏
将 U+00A9(©)直接粘贴到 MySQL utf8mb3 字段中使用 \u00A9 转义序列或确保数据库连接字符集为 utf8mb4MySQL utf8mb3 只支持 BMP(基本多文种平面)字符,U+00A9 虽在 BMP 内,但某些转义实现会错误处理。更安全的做法是使用 Unicode 转义或统一使用 utf8mb4。
3.用肉眼分辨字形相似的字符导致查找失败
想找希腊字母 α,在输入框里直接打英文字母 a复制实际字符 α(U+03B1)粘贴到搜索框,或通过区段索引定位到「希腊字母和科普特字母」区段拉丁字母 a(U+0061)与希腊字母 α(U+03B1)视觉相似但码点不同。Unicode 字符表按区段组织,通过区段浏览比直接输入更可靠。
4.忽略组合字符(Combining Character)的序列顺序
想输入 é,先打 e(U+0065)再打 ́(U+0301),认为结果与单个 é(U+00E9)完全等价确认工具是否支持 NFC 规范化,或直接使用预组合字符 é(U+00E9)U+00E9 是预组合形式,U+0065 + U+0301 是分解形式。两者视觉相同但码点序列不同,在字符串比较、排序、正则匹配时可能不相等。
5.误以为 Unicode 版本号与字符存在时间相关
看到 U+1F9E0(🧠)在 Unicode 10.0 中引入,认为它比 U+2603(☃)更新查阅工具显示的「引入版本」字段,U+2603 在 Unicode 1.1 中引入(1993年),U+1F9E0 在 Unicode 10.0(2017年)Unicode 版本号只表示该字符被纳入标准的版本,不反映字符本身的历史使用时间。雪人符号早在 1993 年就标准化了。
6.在 HTML 中错误使用十进制/十六进制实体引用
想显示 ©,写成 ©(十进制)但忘记分号,或写成 ©(十六进制)但漏掉 x十进制:© 或 ©(十六进制,x 小写)HTML 实体引用中,十进制用 &#D;,十六进制用 &#xH;。缺少分号会导致浏览器解析失败,显示为原始字符串。Unicode 码点 0x00A9 的十进制是 169。
7.把 Unicode 平面(Plane)与区段(Block)混为一谈
认为所有 U+1Fxxx 的字符都属于同一个区段「Emoticons」U+1F600-1F64F 是 Emoticons 区段,U+1F300-1F5FF 是 Miscellaneous Symbols and Pictographs 区段平面是码点范围(如 Supplementary Multilingual Plane 为 U+10000-1FFFF),区段是平面内的逻辑分组。同一个平面内包含多个区段,每个区段有独立的名称和用途。
码点 = 0x(区段起始码点 + 偏移量)
区段起始码点Unicode 区段的首个码点(十六进制)偏移量字符在区段内的序号(从 0 开始)查找「基本拉丁字母」区段(U+0000–U+007F)中第 65 个字符(偏移量 64):码点 = 0x0000 + 64 = 0x0040,对应字符 '@'。
直接在页面顶部的搜索框输入「©」或「copyright」或 Unicode 编码 U+00A9。工具会实时过滤出匹配的字符。也可以按区段浏览:版权符号属于「Latin-1 Supplement」区段(U+0080–U+00FF),在该区段列表里按序号翻找即可。如果知道编码,输入十六进制数字(如 00A9)最快。
乱码通常是接收方字体不支持该字符,或编码不匹配。本工具只负责展示字符及其 Unicode 编码,不转换编码。复制后粘贴到文本编辑器时,确保编辑器保存为 UTF-8 编码;如果粘贴到网页表单,表单页面也需声明 UTF-8。部分生僻字(如 CJK 扩展区字符)需安装支持全 Unicode 的字体(如 Noto Sans CJK)才能正常显示。
空白方块表示当前浏览器/系统字体中没有该字符的字形。本工具会尝试用系统默认字体渲染,但少数生僻字(如古文字、特殊符号扩展区)未被常见字体覆盖。可以尝试安装「Unifont」或「Noto 全字集」字体;移动端 iOS/Android 系统字体覆盖较全,但 Windows 默认字体可能缺失部分区块。工具本身数据完整,空白只是显示问题。
Unicode 标准使用十六进制编号,即「U+ 后面跟的 4-6 位十六进制数」,如 U+4E00(一)。十进制编号是同一数值的不同进制表示,日常使用较少。在工具中,每个字符行都同时显示十六进制(U+XXXX)和十进制编号。如果开发中需要处理字符编码,通常用十六进制;如果做数据库存储或计算,十进制更直接。
可以。Emoji 主要分布在「Miscellaneous Symbols and Pictographs」(U+1F300–U+1F5FF)、「Emoticons」(U+1F600–U+1F64F)等区段。搜索「😊」或「smile」即可定位。注意:部分 Emoji 由多个 Unicode 字符组合而成(如肤色+性别),本工具只显示单字符,组合 Emoji 需自行拼合。浏览器对 Emoji 渲染版本不同,显示效果可能有差异。
「𪚥」(读 zhé)属于 CJK 统一表意文字扩展 B 区(U+20000–U+2A6DF),不在常用区段(如基本多文种平面 BMP)。本工具默认加载全部区段,但扩展区字符较多,搜索时确保输入完整字符或正确编码(U+2A6A5)。如果搜索不到,检查输入是否准确;部分系统输入法无法打出该字符,建议直接粘贴或使用编码搜索。
可以。本工具完全在浏览器本地运行(FE 实现),所有 Unicode 数据(区段、字符、编码)随页面加载后缓存在内存中。首次访问需要联网加载页面;加载完成后,即使断开网络,刷新页面仍可正常浏览、搜索和复制字符。关闭标签页或清除浏览器缓存后需重新联网加载。无需注册、无请求次数限制。
本工具暂不支持一键复制整个区段。可以:① 点击区段标题进入该区段详情页,手动框选字符列表区域后 Ctrl+C(Cmd+C)复制;② 对于小于 100 个字符的区段,全选较方便;③ 对于大区段(如 CJK 统一表意文字,含 2 万+字符),建议使用编程方式(如 Python 的 chr() 循环)生成列表,本工具更适合定位和预览单个字符。
Unicode 只规定字符的「编码」和「语义」,不规定具体字形。不同操作系统、浏览器、字体厂商会设计不同风格的字形(例如「宋体」vs「黑体」,「苹果」vs「微软」)。本工具使用浏览器默认字体渲染,展示的是你当前系统的字形。如果你需要查看字符的标准字形(如用于出版校验),建议参考 Unicode 官方图表(unicode.org/charts)或使用专门字体测试工具。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。