how to decode UTF8 string in iphone

2019-02-18 19:18发布

问题:

I want to decode an UT8 encoded string.

The input string is "øæ-test-2.txt"

and after decoding it should become "øæ-test-2.txt"

I found many API to encode the NSString or NSData to UT8 (NSUTF8StringEncoding) but was not able to find the way to decode it.

What I have tried until now:-

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];

AND

[strToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

AND

[NSString stringWithUTF8String:[strToDecode cStringUsingEncoding:[NSString defaultCStringEncoding]]]

I have tried the same input string and I get the proper output in third party decoder.

But was not able to get success

Any hint in right direction would be highly appreciated.

回答1:

[NSString stringWithUTF8String:]


回答2:

I use this one.

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