如何在iphone中解码UTF8字符串

Ekr*_*kra 3 iphone encoding objective-c

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

输入字符串是" øÃ| -test-2.txt "

解码后应该变成" øæ-test-2.txt "

我发现许多API将NSString或NSData编码为UT8(NSUTF8StringEncoding),但无法找到解码方法.

我到现在为止尝试过的: -

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

[strToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
Run Code Online (Sandbox Code Playgroud)

[NSString stringWithUTF8String:[strToDecode cStringUsingEncoding:[NSString defaultCStringEncoding]]]
Run Code Online (Sandbox Code Playgroud)

我尝试了相同的输入字符串,并在第三方解码器中获得正确的输出.

但是无法取得成功

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

小智 7

我用这个.

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


Nic*_*sky 6

[NSString stringWithUTF8String:]
Run Code Online (Sandbox Code Playgroud)