在这里问了一个关于同一个问题的问题:Silly problem with UTF8但是有些搞砸了这个问题所以我做了一个新的问题并尝试更清洁。
如果我再问这个问题我会道歉。
我一直试图让这个工作,但只是无法得到我想要的结果。我已经尝试过我之前的帖子中的建议,但仍然无法让它工作。如你所知,我对此非常陌生并且真的试着阅读它。
以下是该方案:
代码:
NSMutableArray * myArray = [[NSMutableArray alloc] init];
[myArray addObject:@“===”];
[myArray addObject:@“ÅÄÖ”];
[myArray addObject:@“===”];
NSLog(@“myArray:%@”,myArray);
我得到的输出是:
2010-11-10 21:20:17.826 nsmutablearray_test [2976:207] myArray :(
“===”,
“\ U00c5 \ U00c4 \ U00d6”,
“===”
)
我正在寻找的输出是:
“===”,
“AAO”,
“===”
由于我已经针对这个(简单)问题测试了所有类型的东西,如果有人能够向我展示解决此问题的代码,我会非常感激吗?
此致
答案 0 :(得分:3)
\U00c5
是Å
的unicode代码,因此从技术上讲,输出是正确的。字符串在内存中仍然是相同的,只是NSLog
没有按照你期望的方式输出它。但它仍然是相同的字符串。
答案 1 :(得分:2)
这是一个简单的解决方案:
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject: @"==="];
[myArray addObject: @"ÅÄÖ"];
[myArray addObject: @"==="];
NSLog(@"myArray: %@", myArray);
for (NSString *string in myArray) {
NSLog(@"%@", string);
}
输出:
Swedish[3453:a0f] ===
Swedish[3453:a0f] ÅÄÖ
Swedish[3453:a0f] ===
答案 2 :(得分:0)
如果我没记错的话,这只是NSLog如何处理UTF8的问题。尝试首先将描述存储到NSString中,然后记录。
无论哪种方式,数据都是正确的,这纯粹是一个NSLog问题。