iphone - NSString 中不同类型的 UTF8 解码

标签 iphone objective-c utf-8 nsstring

我搜索了很多有关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/

相关文章:

iphone - 硬件加速 h.264 解码到 iOS 中的纹理、覆盖或类似内容

ios - Swift 等效于 Objective-C 表达式?

php - 有什么方法可以让 Android 的默认浏览器识别 "Content-Disposition: attachment"下载中的非 ASCII 文件名?

unicode - Sublime Text 控制台不显示带重音的线条

ios - 如何在iOS和TvOS应用之间传递数据?

ios - 为什么 UITableView 没有显示在 UIViewController 上?

objective-c - iOS Objective-C 将坐标从绝对图像位置转换为我的 View 坐标系

json - JSON.stringified() 对象中的文本编码问题

iphone - iOS - Interface Builder Outlet 未初始化

ios - 在 UITableView 中实现边距的更好方法?