Unicode 规范化对比

NFC/NFD/NFKC/NFKD 转换、逐码点差异与规范化不匹配检测,浏览器本地处理

单串规范化四形式

NFC与输入相同
café́
cU+0063aU+0061fU+0066éU+00E9́U+0301
\u0063\u0061\u0066\u00E9\u0301
NFD与输入不同
café́
cU+0063aU+0061fU+0066eU+0065́U+0301́U+0301
\u0063\u0061\u0066\u0065\u0301\u0301
NFKC与输入相同
café́
cU+0063aU+0061fU+0066éU+00E9́U+0301
\u0063\u0061\u0066\u00E9\u0301
NFKD与输入不同
café́
cU+0063aU+0061fU+0066eU+0065́U+0301́U+0301
\u0063\u0061\u0066\u0065\u0301\u0301

黄色高亮为组合记号(叠加在基础字符上的符号)。

两串是否"看着一样却不相等"

严格相等 (===):不相等
NFC
一致
NFD
一致
NFKC
一致
NFKD
一致

规范化不匹配:两串直接比较不相等,但都在 NFC 下相等——这正是"看着一样却不相等"的根因。做文本处理前先统一规范化(推荐 NFC)即可解决。

关于 Unicode 规范化

  • 同一可视字符可有预组合(é = U+00E9)与分解(e + ◌́ = U+0065 U+0301)两种编码,直接比较会失败。
  • NFC 先分解再组合(适合存储/展示);NFD 全分解(适合按基字符检索);NFKC/NFKD 额外做兼容分解(全角→半角、连字 fi→f+i)。
  • 做去重、比较、匹配前,先把两侧统一到同一种形式(多为 NFC)。

关于 Unicode 规范化对比 工具

Unicode 规范化对比 是云海百宝箱提供的一个免费在线工具。NFC/NFD/NFKC/NFKD 转换、逐码点差异与规范化不匹配检测,浏览器本地处理 该工具完全在浏览器中运行,无需下载安装任何软件,跨平台支持 Windows、Mac、Linux 及移动设备,数据在本地处理不上传服务器。

与 Unicode 规范化对比 配合常用的同类工具: Base64 编码/解码、URL 编码/解码、十六进制转换、Unicode 编码/解码、HTML 实体编码/解码、二进制转换

Unicode 规范化对比 使用方法

  1. 在输入框中输入或粘贴需要处理的内容
  2. 选择相应的处理选项或参数
  3. 点击"处理"或"转换"按钮获取结果
  4. 点击"复制"按钮可一键复制结果到剪贴板

相关工具推荐