如何在iphone中解码UTF8字符串

时间:2011-01-12 13:08:44

标签: iphone objective-c encoding

我想解码一个UT8编码的字符串。

输入字符串为“øÃ| -test-2.txt

解码后应该成为 “的 OAE试验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中获得了正确的输出。

但未能取得成功

任何正确方向的提示都将受到高度赞赏。

2 个答案:

答案 0 :(得分:7)

我使用this一个。

NSString *encoded_string = @"ü";
const char *ch = [encoded_string cStringUsingEncoding:NSISOLatin1StringEncoding];
NSString *decode_string = [[NSString alloc]initWithCString:ch encoding:NSUTF8StringEncoding];
NSLog(@"%@",decode_String)

答案 1 :(得分:6)

[NSString stringWithUTF8String:]