UNICODE NORMALIZE
Unicode 规范化,排查字符串“看起来一样却不相等”。
Unicode 规范化:把文本在 NFC/NFD/NFKC/NFKD 四种标准形式间转换,查看码位与差异,排查字符串比较不一致,全程浏览器本地运行、不上传数据。
怎么用?
把文本粘进来,选择一种规范化形式(NFC 合成、NFD 分解、NFKC/NFKD 兼容),点「规范化」即可得到标准形式并查看码位变化。常用于调试“肉眼相同却不相等”的字符串(如不同输入法打出的 é、全角与半角、带组合重音的字符),以及清洗用户输入后再比较或存储。
常见问题
NFC 和 NFD 有什么区别?
NFC 尽量用“一个码位”表示字符(如 é 用一个码位),NFD 把字符拆成“基字符 + 组合重音”(如 e + ´)。两者显示一样,但底层码位不同,直接比较会不相等。
什么时候用 NFKC / NFKD?
需要兼容等价时(如全角转半角、① 转 1、¼ 转 1/4),用 NFKC/NFKD 能把“看起来等价于某字符”的符号统一,适合清洗后再比较或入库;注意它会改变字符含义,存储展示文本时要谨慎。