【发布时间】:2013-04-01 03:26:02
【问题描述】:
我从 OSX 文件系统获得的 NFD Unicode 字符串有问题。
这是我在 OSX "A\xcc\x88" 上的 "Ä"-Umlaut 得到的,这也是我所期望的 "\xc3\x84"。在 windows 下也有同样的功能(简单的 boost 文件系统操作,列出一个目录)。
经过一番搜索,我发现Apple的NFD编码为UTF-8和世界其他地方的NFC。我尝试通过 NSStrings 或 boost::locale::normalize 进行转换,但没有成功。
有人知道在 C++ 中执行此操作的方法吗(如果需要,我可以通过 obj-c 使用 Cocoa)?
之后我希望原始 unicode 字符串为 std::string(带有 unicode 编码)。
【问题讨论】:
标签: c++ unicode utf-8 normalization unicode-normalization