带有重音的NSMutableDictionary

时间:2013-07-24 02:07:12

标签: objective-c nsdictionary

我正在使用NSMutableDictionary,在这个数组中我使用带重音的单词并添加这项工作,很好。问题是检索和使用。

添加:     [dicPT_SP setObject:@“SãoPaulo”forKey:@“SãoPaulo”];

检索时,我得到:     “S \ U00e3o Paulo”

我该如何解决这个问题?我认为这很简单,但我无法找到解决方案谷歌搜索。 任何想法都非常受欢迎。

1 个答案:

答案 0 :(得分:0)

我认为你需要先对这个字符串进行编码...这是你得到的unicode字符串。 您需要将其编码为UTF8字符串,如下所示。

char cString[] = "This isn\u2019t your bike";
    NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"result string: %@", string);

OR

NSString *input = @"\\u5404\\u500b\\u90fd";
    NSString *convertedString = [input mutableCopy];
    CFStringRef transform = CFSTR("Any-Hex/Java");
    CFStringTransform((__bridge CFMutableStringRef)convertedString, NULL, transform, YES);
    NSLog(@"convertedString: %@", convertedString);