Тип unichar
определен как 16-битное значение Юникода (например, как косвенно задокументировано в описании спецификатора% C ), и вы можете получить unichar
иззаданную позицию в NSString
, используя characterAtIndex:
, или используйте getCharacters:range:
, если вы хотите заполнить массив C Unichars из NSString
быстрее, чем запросив иходин за другим.
NSUTF32StringEncoding
также является допустимым строковым кодированием, как и пара вариантов, специфичных для порядка байтов, на случай, если вы хотите быть абсолютно будущим.Вы получите массив C из тех, кто использует гораздо более длинный getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
.
РЕДАКТИРОВАТЬ: так, например,
NSString *str = @"A";
NSLog(@"16-bit unicode values are:");
for(int index = 0; index < [str length]; index++)
NSLog(@"%04x", [str characterAtIndex:index]);