不同的unicode-representations无法从NSDictionary中获取

时间:2011-02-04 15:33:56

标签: cocoa unicode nsstring nsdictionary

我正在使用MacFUSE编写文件系统,以存储我使用词典的目录和文件的内容/属性,因为它们的路径是唯一的。对于普通路径,没有问题,但是包含“非标准”字母的路径如“åäö”不能正常工作。我把它缩小到了unicode格式。

使用@“ä”分配字符串会给出unicode 228,但有时(并非所有时间)我的代码都是从MacFUSE调用的,其中“ä”表示为两个unicode字符:“a”(unicode:97)通过“¨”(unicode:776)。这导致[dictionary objectForKey:path]返回nil。 NSLog使用“ä”正确打印路径,但[string isEqualToString:]返回NO。

有什么好方法可以解决这个问题吗?或者我是否必须搜索并修复每条路径?

1 个答案:

答案 0 :(得分:2)

在使用之前,请在字符串上调用-precomposedStringWithCanonicalMapping