Unicode 字符查询
逐字符查看任意文本:码位、字符名、所属区块、UTF-8 与 UTF-16 字节、HTML 实体以及 JS、URL 转义。
🔒 浏览器本地运行,文件不会上传免费 · 无需注册
0字符数
0UTF-16 码元
0UTF-8 字节
0去重后
| 字符 | 码位 | 名称 | UTF-8 | UTF-16 | HTML | JS | URL |
|---|
还没有内容,先在上面输入点什么。
按码位查字符
这不是有效的码位(范围 0 到 10FFFF)。
转义形式互转
怎么用 Unicode 查询
- 把要排查的文本粘进第一个框,每个字符都会单独成一行,显示码位、名称和所属区块。
- 横向看这一行就能拿到需要的字节和转义:UTF-8、UTF-16、HTML 实体、JavaScript 的
\u转义,以及 URL 百分号编码。 - 反过来也行:把
\u4f60、你或%E4%BD%A0粘进转换器,其它形式(包括可读文本)会自动补全。
常见问题
为什么一个 emoji 在 JavaScript 里算两个字符?
JavaScript 字符串用的是 UTF-16。超过 U+FFFF 的码位——大多数 emoji 和生僻汉字——会被存成一对代理项,所以 "🙂".length 是 2。像本工具一样用 Array.from() 或 for…of 遍历,就能一个真实字符对应一个元素。
两个字符串看起来一样,比较却不相等?
基本都是看不见的码位在作怪:零宽空格、把普通空格写成了不换行空格、开头多了 BOM,或者带音标的字母是「基字母 + 组合符号」而不是单个预组合字符。把两个字符串都贴进来,逐行一对比马上就看出来了。
页面里带了整个 Unicode 数据库吗?
没有,那要好几 MB。页面只内置了 ASCII、Latin-1、常用标点、箭头、数学符号、货币符号和常见 emoji 的名称,汉字按规则算出名称,其余字符显示官方区块名。