В этом документе Apple Технические вопросы и ответы QA1235 описывает способ преобразования строк Unicode из составной в разложенную версию. Так как у меня есть проблема с именами файлов, содержащими некоторые символы (например, могилу ударения), я хотел бы попробовать функцию преобразования
void CFStringNormalize (CFMutableStringRef theString,
CFStringNormalizationForm theForm);
Я использую это с Python и библиотекой AppKit. Если я передаю строку Python в качестве аргумента, я получаю:
CoreFoundation.CFStringNormalize ( "а", 0)
2009-04-27 21: 00: 54.314 Python [4519: 613] * - [OC_PythonString _cfNormalize:]: нераспознанный селектор, отправленный экземпляру 0x1f02510
Traceback (последний вызов был последним):
Файл "", строка 1, в
ValueError: NSInvalidArgumentException - * - [OC_PythonString _cfNormalize:]: нераспознанный селектор, отправленный экземпляру 0x1f02510
Я полагаю, это потому, что в качестве аргумента необходим CFMutableStringRef. Как мне преобразовать строку Python в CFMutableStringRef?