Добавить строку с Unichar - PullRequest
       27

Добавить строку с Unichar

4 голосов
/ 18 октября 2011

У меня тут какая-то странная проблема.Код такой, как показано ниже

NSMutableString *unicodeString = [NSMutableString string];
for (NSUInteger i = 0; i < [data length]; i++) {
    unsigned char byte;
    [data getBytes:&byte range:NSMakeRange(i, 1)];
    unichar unicodeChar = byte;
    NSString *appendString = [NSString stringWithFormat:@"%C",[_toUnicode unicharFromCIDString:unicodeChar]];
    [unicodeString appendFormat:@"%@",appendString];
    NSLog(@"%@",appendString); //1
}
NSLog(@"%@",unicodeString)//2 

the appendString, но unicodeString никогда не печатается.Это из-за проблемы байтов ??Я пытался сохранить appendString, но он все равно не будет печатать

* ОБНОВЛЕНО найдено ответ

Ответы [ 2 ]

3 голосов
/ 10 января 2014

Другой способ:

NSString *appendString = [NSString stringWithCharacters:&unicodeChar length:1];
[unicodeString appendFormat:@"%@", appendString];
2 голосов
/ 27 октября 2011

Я обнаружил, что проблема в% C для 16-битного unichar, поэтому, если я хочу добавить NSString, я должен использовать% c, который является 8-битным. Это отлично работает.

NSString *appendString = [NSString stringWithFormat:@"%c",[_toUnicode     unicharFromCIDString:unicodeChar]];
[unicodeString appendFormat:@"%@",appendString];
...