разные юникод-представления не могут извлечь из NSDictionary - PullRequest
1 голос
/ 04 февраля 2011

Я пишу файловую систему, используя MacFUSE, для хранения содержимого / атрибутов каталогов и файлов, я использую словари, так как их путь уникален.Для нормальных путей проблем нет, но пути, содержащие «нестандартные» буквы, такие как «ääö», не работают должным образом.Я сузил его до формата Юникод.

Выделение строки с @ "ä" дает Unicode 228, но иногда (не всегда) мой код вызывается из MacFUSE с "ä", представленным в виде двух символов Unicode: "a" (unicode:97), за которым следует "¨" (Unicode: 776).Это заставляет [dictionary objectForKey: path] возвращать ноль.NSLog печатает путь правильно с помощью «ä», но [string isEqualToString:] возвращает NO.

Есть ли хороший способ исправить это?Или мне придется искать и исправлять все пути?

1 Ответ

2 голосов
/ 04 февраля 2011

Вызовите -precomposedStringWithCanonicalMapping в вашей строке перед использованием.

...