У меня есть международный символ, хранящийся в unichar-переменной. Этот символ не исходит из файла или URL-адреса. Сама переменная хранит только unsigned short (0xce91), который находится в формате UTF-8 и переводится в прописную букву "A". Я пытаюсь превратить этот символ в переменную NSString, но я терплю неудачу.
Я пробовал два разных способа, обе неудачные:
unichar greekAlpha = 0xce91; //could have written greekAlpha = 'Α' instead.
NSString *theString = [NSString stringWithFormat:@"Greek Alpha: %C", greekAlpha];
Нехорошо. Я получаю странные китайские персонажи. В качестве опоры это отлично работает с английскими символами.
Затем я также пробовал это:
NSString *byteString = [[NSString alloc] initWithBytes:&greekAlpha
length:sizeof(unichar)
encoding:NSUTF8StringEncoding];
Но это тоже не сработает. Я, очевидно, делаю что-то ужасно неправильно, но я не знаю, что. Может кто-то мне помочь, пожалуйста? Спасибо!