Unicode 规范化
将文本按 NFC/NFD/NFKC/NFKD 等范式进行 Unicode 规范化,统一异体字与组合字符,解决跨系统显示与比对异常。
🌐 Unicode Normalizer
📐 工作原理与说明
Normalise text with NFC, NFD, NFKC or NFKD to unify visually identical characters before comparison, search or storage.
💡 NFC: 规范化形式 C(合成);NFD: 规范化形式 D(分解);
NFKC: 兼容性合成;NFKD: 兼容性分解。
📋 4 种规范化结果对比
NFC(规范合成)
先分解再按规范顺序合成
-
NFD(规范分解)
按规范分解为基本字符+组合符
-
NFKC(兼容性合成)
兼容性分解后合成
-
NFKD(兼容性分解)
按兼容性分解
-
原文长度: 0
NFC 长度: 0
NFD 长度: 0
NFKC 长度: 0
NFKD 长度: 0
📚 深度解析:Unicode 归一化
💡 常见使用场景
- 去重前归一:把「é」的多种编码(预组合/分解)统一,避免同一字符被当两条。
- 搜索匹配:归一后「café」与「café」(不同编码) 才能正确相等。
- 存储统一:入库前用 NFC,保证跨系统一致显示。
NFC 与 NFD 统一
「é」可写作预组合 U+00E9 或 e+组合声调 U+0301;NFC 归并为前者、NFD 拆为后者。归一后两处「café」字符串相等,去重与比对才正确。
❓ 常见问题(FAQ)
- NFC/NFD/NFKC 怎么选?
- 存储与比对常用 NFC;NFKC 还会兼容等价(如全角转半角、罗马数字转字母),适合清洗但可能改变语义,谨慎用于展示。
- 归一会丢信息吗?
- NFC/NFD 不丢;NFKC 可能把「①」变「1」、全角变半角,改变原意,仅用于内部匹配时不要直接展示 NFKC 结果。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
使用场景
- 去重前归一:把「é」的多种编码(预组合/分解)统一,避免同一字符被当两条。
- 搜索匹配:归一后「café」与「café」(不同编码) 才能正确相等。
- 存储统一:入库前用 NFC,保证跨系统一致显示。