跳到主要内容

Unicode 字符检查器:码点、字节、实体与隐藏字符

逐字符拆解任意文本: 码点、UTF-8/UTF-16 字节、HTML 实体、JS 转义、字符名, 并揪出隐藏的零宽 / 同形字符。

  • 本地处理
  • 分类 文本
  • 适合 把日常写作和运营里的重复清理工作省掉。
0字符0码点0UTF-8 字节0UTF-16 码元
视图

逐字符拆解显示在这里。

这个工具能做什么

一个免费、100% 在浏览器本地运行的 Unicode 检查器。粘贴或输入任意 文本, 即可得到逐字符拆解: 字符本身、码点 (U+XXXX)、十进制值、 十六进制的 UTF-8 字节、UTF-16 码元、命名与数字两种 HTML 实体、 JavaScript 转义, 以及 Unicode 区块和通用类别 (general category)。 它按真正的 grapheme 簇切分文本, 所以一面旗帜、一个带肤色的大拇指、 或一个多人全家福 emoji 都算作一个字符, 哪怕它由好几个码点组成。 汇总区一眼给出 grapheme 数、码点数和 UTF-8 字节数。最有用的是, 它 会标记不可见和危险字符 (零宽空格与连接符、BOM、不换行空格、 从右到左覆盖符, 以及把一种文字伪装成另一种的拉丁 / 西里尔 / 希腊 同形字), 让你能找出那个悄悄搞坏解析器、用户名校验或安全边界的 字符。每个字段都有一键复制。不上传任何内容, 全部本地解码。

工具细节

输入
文本
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 16 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
文本 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

Unicode 字符检查器 适合怎么用

适合在文本进入文档、CMS、表格或提示词前,先清理、对比、整理或提取。

适合文本任务

  • 把日常写作和运营里的重复清理工作省掉。
  • 让文本更容易对比、粘贴、发布或交给下一个工具。
  • 内容还没公开或比较私密时,先在本地处理。

文本检查项

  • 留意多余空格、重复行和被误删的标点。
  • 长文本先试前几行,再处理全文。
  • 先看预览,确认没问题再复制结果。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 HTML 实体转换 HTML 实体编码 / 解码:& < > " ' 与所有数字引用,纯浏览器本地 打开
  2. 2 文字转二进制工具 文字 ⇄ 二进制互转:UTF-8 编码,8/16/32 位分组,emoji 正常。 打开
  3. 3 Emoji 查找 Unicode 15.1 / 1500+ 中英双语搜索,一键复制,浏览器本地 打开

真实使用场景

  • 揪出让"重复用户名"校验抽风的隐形字符

    注册表单一直说 "john" 已被占用, 但客服查后台明明是空号。把两个 字符串都粘进来。结果发现其中一个的第二个字符其实是 U+0435 西里尔小写字母 IE, 而不是拉丁字母 `o`, 一个同形字。工具会把 它标红为"易混淆字符", 给出码点, 你立刻明白原始注册是用西里尔 字母把这个名字抢注了。没有逐字符码点, 你盯着两个肉眼完全一样 的字符串能查一整天。

  • 排查被"干净"粘贴配置噎住的 JSON 解析器

    你的 YAML/JSON 加载器在第 1 行报 "unexpected token", 但文件在 编辑器里看着毫无问题。把第一行粘进来。汇总会标出在左花括号前面 潜伏的 U+FEFF 字节序标记 (BOM), 或者你以为是普通空格、实际是 U+00A0 不换行空格的地方。这俩在多数编辑器里都不可见。工具把它们 高亮为零宽/不可见字符, 给你 `` 的 JS 转义, 你就能用精确的 `replace` 把它删掉, 解析错误随之消失。

  • 存 emoji 前先确认它到底怎么编码

    你在定一个 `VARCHAR` 列的长度, 结果一个 👨‍👩‍👧‍👦 全家福 emoji 就把长度限制冲爆了。粘进来看: grapheme 计数是 1, 码点计数是 7, UTF-8 字节数是 25。工具把这个簇拆开 (四个人物 emoji 被三个 U+200D 零宽连接符串起来), 你就明白为什么"一个 emoji"要占 25 字节, 从而正确地给列 (或者类似推特的字数预算) 定长度。

  • 给棘手字形造一个精确的 HTML 实体或 JS 转义

    你要把破折号、不换行空格或某个数学符号硬写进源码, 又不想直接粘 原始字符 (同事的编辑器可能把它弄乱)。把字形输入或粘进来, 每一行 都给你命名 HTML 实体 (`&mdash;`)、数字形式 (`&#8212;` / `&#x2014;`) 以及 JS 转义 (`—`, 星形平面字符则是 `\u{1F600}`)。一键复制你文件里需要的那种确切形式。

  • 在用户文本进生产前审一遍仿冒风险

    你在审核用户提交的显示名、域名标签或优惠码。粘进来, 扫一眼右列: 任何零宽空格、从右到左覆盖符 (U+202E, 经典的文件名仿冒手法) 或 混合脚本的易混淆字符都会被标上颜色。你拿到的是逐字符的判定, 而 不是去信任一个"看着正常"的字符串。同形字钓鱼和 RTL 覆盖攻击 正是这么从粗糙的校验里溜进去的。

常见踩坑

  • grapheme 不等于码点。旗帜 emoji 🇯🇵 你看着是一个东西, 实际是两个码点 (区域指示符 J + P); 👍🏽 看着是一个 emoji, 实际是两个码点 (竖大拇指 + 肤色修饰符)。按码点或按 UTF-16 单元切字符串, 可能把一个 emoji 拦腰切断弄坏。面向用户的场景一律用工具显示的 grapheme 计数。

  • JavaScript 里 `String.length` 数的是 UTF-16 码元, 不是字符。`'𝄞'.length` 是 2 不是 1, 因为高音谱号在 U+FFFF 之上, 需要一对代理。真正的字符数要用码点计数 (`[...str].length`), 永远别假设走一个下标就是走过一个字符。

  • 用 `.replace(/ /g, '')` 删空格会漏掉隐形的那些。U+00A0 不换行空格、U+200B 零宽空格、U+FEFF BOM、U+3000 表意空格, 在人眼里都是空白, 在朴素正则眼里却不是。从工具里复制确切码点, 精确地去删它。

隐私说明

每一次查询 (码点解码、UTF-8 / UTF-16 字节运算、实体与转义生成、 易混淆 / 零宽字符检测) 都是浏览器标签页里跑的纯 JavaScript。你 检查的文本不会被上传、记录或发往任何服务器。唯一要注意: 你的输入 会写进可分享的 URL query string, 这样"分享链接"能还原同一视图, 也 就意味着别人打开你粘的链接时, 对方的日志里会留下这段文本。不要把 含密码、令牌或私人消息的内容做成链接分享。这类内容请本地检查, 只复制你需要的字段。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-13