【发布时间】:2011-01-12 13:08:43
【问题描述】:
我想解码一个 UT8 编码的字符串。
输入字符串是“øæ-test-2.txt”
解码后应该变成 "øæ-test-2.txt"
我发现许多 API 将 NSString 或 NSData 编码为 UT8 (NSUTF8StringEncoding),但无法找到解码方法。
到目前为止我所尝试的:-
NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
与
[strToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
与
[NSString stringWithUTF8String:[strToDecode cStringUsingEncoding:[NSString defaultCStringEncoding]]]
我尝试了相同的输入字符串,并在third party decoder 中得到了正确的输出。
但是没能成功
任何正确方向的提示都将受到高度赞赏。
【问题讨论】:
-
向我们展示您的代码。向我们展示您到目前为止所做的工作。我们提供的任何解决方案都将使用这些标准 API,因此我们需要知道您哪里出了问题。
-
如果你解决了这个问题,我也有同样的问题,请与我分享解决方案。
-
对我来说,解决方案是 NSString *decodedString = [NSString stringWithUTF8String:[encodedString cStringUsingEncoding:NSISOLatin1StringEncoding]];
标签: iphone objective-c encoding