我搜索了很多有关UTF8解码的信息,但还没有找到答案。
我从 NSXMLParser 收到 UTF-8 解码 NSString:
NSString *tempString = @"Test message readability is óké";
以某种方式,我找不到将此编码文本更改为的方法:
Test message readability is óké
我可以说出我尝试过的所有选项,但我认为没有必要。请帮忙吗?
谢谢!
最佳答案
NSXMLParser
将使用 XML 指定的字符编码来处理文本。我相信在您的情况下,XML 没有明确指定 UTF-8。
该文本似乎是 ISO Latin 1。如果您无法对生成 XML 的服务器执行任何操作,那么您可以应用此 hack:
char* tempString = [string cStringUsingEncoding:NSISOLatin1StringEncoding];
string = [NSString stringWithUTF8String:tempString];
我已经通过从 GDB 提示符进行测试来验证这是否有效:
po [NSString stringWithUTF8String:(char*)[@"Test message readability is óké" cStringUsingEncoding:5]]
关于iphone - NSString 中不同类型的 UTF8 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846490/