macOS 字符串NFD 转 NFC

今天从服务器获取一条路径与本地路径对比后竟然不一致, 根据 log 看一摸一样的路径, 使用各种工具对比都不一致, 仔细查查代码, 编码方式都是 utf-8 ,奇了怪了, 各种查资料, 最终发现由于 mac 上使用的 unicode 码表与服务器不一致导致

Mac 上使用的 unicode D 表(NFD),而 Linux 和 Web 使用的都是 C 表(NFC), D 表会把一个字 比如 で 拆成 て + ゙来储存

\u3067

\u3066\u3099 て + ゙

let NFCPath = path.precomposedStringWithCanonicalMapping


备忘录macOS

159 字

2019-12-12 18:08 +0900

2019-12-12 18:08 +0900

comments powered by Disqus