ios UTF8 encoding from nsstring

2020-02-05 03:12发布

I am receiving a nsstring that is not properly encoded like "mystring%201, where must be "mystring 1". How could I replace all characters that could be interpreted as UTF8? I read a lot of posts but not a full solution. Please note that nsstring is already encoded wrong and I am not asking about how to encode char sequence. Thank you.

5条回答
在下西门庆
2楼-- · 2020-02-05 03:55

Do you want just percent encoding/decoding or full URL encoding/decoding? -(NSString*)stringByReplacingPercentEscapesUsingEncoding: will work if it is just percent encoding, but if there is full URL encoding there (so, for example a space could be either %20 or +) then you'll need something like the url decoding in the three20 library (or search on there, there are lots of examples of how to do it such as URL decoding/encoding NSString).

查看更多
做自己的国王
3楼-- · 2020-02-05 03:56

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding is what you want. basically use it like so:

newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
查看更多
Juvenile、少年°
4楼-- · 2020-02-05 03:59
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
查看更多
欢心
5楼-- · 2020-02-05 04:00

Check the Strings and Non-ASCII Characters section of Formatting String Objects:

NSString *s = [NSString stringWithUTF8String:"Long \xe2\x80\x94   dash"];
查看更多
地球回转人心会变
6楼-- · 2020-02-05 04:16
lblDate.text=[NSString stringWithCString:[[arrTripDetail valueForKey:Param_vCurrencySymbol] UTF8String] encoding:NSUTF8StringEncoding];

U can Convert & get Custom Emoji to string

eg :

input : \U20b9

Output: ₹

查看更多
登录 后发表回答