跳到主要内容

Unicode 规范化工具(NFC NFD NFKC NFKD)

把文本转成 NFC、NFD、NFKC 或 NFKD,看码点数和字节数怎么变,标出哪些字符变了,一键复制,全程浏览器本地

  • 本地处理
  • 分类 文本
  • 适合 把日常写作和运营里的重复清理工作省掉。
形式

标准合成 —— 能合的组合字符合成单个码点(é 还是一个字符)。网页默认形式,存储和比较用它。

码点数输入0输出0(变化 0)
UTF-8 字节输入0输出0(变化 0)
规范化结果
规范化后的文本和码点显示在这里。

这个工具能做什么

免费在线 Unicode 规范化工具,用浏览器自带的 normalize() 引擎把任意文本 转成 NFC、NFD、NFKC 或 NFKD。同一个看得见的字母可以有两种存法:é 可以是 一个码点(U+00E9),也可以是两个(e 加上组合用的尖音符 U+0301)。它们看着 一模一样,作为字符串却不相等,于是搜索、去重和数据库主键会悄悄漏掉本该 匹配的记录。这个工具把两种写法收拢成一个规范形状,并显示规范化前后的 码点数和 UTF-8 字节数,让你亲眼看到组合标记在 NFC 下被合并、在 NFD 下被 拆开。NFC 和 NFD 是标准形式、可逆;NFKC 和 NFKD 多了一层兼容折叠:全角 ABC 变 ABC、带圈 ① 变 1、fi 连字变 fi。可选的逐字符视图会列出每个码点, 把变了的那些高亮出来。全部在浏览器本地运行,一键复制,分享链接能还原 你当时的文本和所选形式。不上传。

工具细节

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

怎么用

  1. 1. 输入

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

  2. 2. 处理

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

  3. 3. 复制 / 下载

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

Unicode 规范化工具 适合怎么用

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

适合文本任务

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

文本检查项

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

下一步可以接着做

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

  1. 1 Unicode 字符检查器 逐字符拆解任意文本: 码点、UTF-8/UTF-16 字节、HTML 实体、JS 转义、字符名, 并揪出隐藏的零宽 / 同形字符。 打开
  2. 2 文本转十六进制 文本 ⇄ 十六进制,按 UTF-8 字节算,中文和 emoji 都不出错,分隔符和大小写随你挑,粘贴的乱格式 hex 也能解 —— 浏览器本地运行 打开
  3. 3 繁简体中文互转 繁体 ⇄ 简体中文互转 —— 字级映射,极快,无需联网。 打开

真实使用场景

  • 修好漏掉带音符人名的搜索

    你的应用里存的 José 是在 Mac 上打的(常是 NFD:e 加组合音符),而搜索框 发来的 José 来自 Windows 键盘(NFC,一个码点)。查询永远匹配不上,用户 一口咬定记录就在那。把两个字符串都粘进来,各自规范成 NFC,看码点数对齐。 然后在代码里于写入时规范一次,这种错位就再也不会发生。

  • 给联系人或商品清单去重

    从两个来源合来的 CSV 里,Café 和 Café 看着完全一样,比较起来却是两行, 于是去重把两条都留下了。把这一列过一遍 NFC(若还出现全角或连字变体就用 NFKC),看着相等的条目就变成字节相等,合并成一条。这里显示的字节数变化 一眼就能看出哪些行真的被分解过。

  • 建索引前清掉全角和连字噪声

    用户提交的文本里夹着全角 ABC、带圈 ①②③,还有从 PDF 粘来的 fi fl 连字。 这些都不该改变搜索的匹配结果。NFKC 一遍就把它们折成普通的 ABC、123、 fi fl,这样你的搜索索引和相等判断看到的,就是人读到的那些字符,而不是 底下那层格式变体。

  • 讲解或调试 Unicode 等价

    解释为什么 JavaScript 里 "é === é" 是 false,让全班看见会更好懂。打出 预合成的 é,切到 NFD,码点数从 1 跳到 2,而字形没变。打开逐字符视图, 指给他们看新冒出来的组合尖音符 U+0301。把网址分享出去,例子会按搭好的 样子原样打开。

常见踩坑

  • 不先规范化就比较字符串。两个看着一样的名字,可能一个是 NFC 单码点,另一个是基字母加组合标记,普通相等判断就返回 false。任何比较、建索引、去重之前,先把两边规范成同一形式。

  • 只需要 NFC 却用了 NFKC。NFKC 会丢信息:它把全角、连字、带圈数字永久折掉。要保留精确外观(展示文本、存档原文)就用可逆的 NFC,NFKC 只留给搜索用的键。

  • 以为 CJK 不会动。中文表意字没有标准分解,但 NFKC 仍会折叠混排文本里的全角拉丁字母和半角假名,所以一段看着全是中文的字符串照样可能变。下结论前先看字节数变化。

隐私说明

规范化完全在你的浏览器标签页里,通过标准的 String.prototype.normalize 调用完成,文本不上传,也不记录。唯一要注意:分享链接会把你的输入和所选 形式写进 URL 查询字符串,所以把链接粘到聊天里,对方服务器的访问日志会 留下这段文本。涉及隐私的内容,请用复制按钮粘贴结果,而不是分享网址。

常见问题

类似工具组合

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

Made by Toolora · 100% client-side · Updated 2026-05-29