Средство просмотра персонажа говорит мне, что ваш персонаж имеет номер юникода 0x628.Он слишком большой, чтобы хранить его в одном символе, который составляет всего 8 бит.Хорошей новостью является то, что он будет вписываться в unichar так:
unichar c = 'ب';
может работать.Но компилятор не гарантирует, что сможет обрабатывать символы вне ограниченного набора символов.В целях безопасности вы можете явно использовать кодировку UTF-16 (это то, что NSStrings использует внутри. Так:
unichar c = 0x628; // Arabic Beh (UTF-16)
Или, если вы предпочитаете UTF-8, кодировка UTF-8 для этого номера Unicode будетD8 A8:
char c[2] = { 0xD8, 0xA8 }; // Arabic Beh (UTF-8)
Редактировать:
Некоторые способы перевода символа в строку NSSt:
Использование -stringWithFormat:
NSString* foo = [NSString stringWithFormat: @"beh %C", (unichar) 0x628];
Или
NSString* foo = [NSString stringWithUTF8String: "beh \xD8\xAB"];