macOS 字符串NFD 转 NFC
今天从服务器获取一条路径与本地路径对比后竟然不一致, 根据 log 看一摸一样的路径, 使用各种工具对比都不一致, 仔细查查代码, 编码方式都是 utf-8 ,奇了怪了, 各种查资料, 最终发现由于 mac 上使用的 unicode 码表与服务器不一致导致
Mac 上使用的 unicode D 表(NFD),而 Linux 和 Web 使用的都是 C 表(NFC), D 表会把一个字 比如 で 拆成 て + ゙来储存
\u3067
で
\u3066\u3099
て + ゙
let NFCPath = path.precomposedStringWithCanonicalMapping