NSString 编码

将UTF8编码转化为中文 - NSString方法 

测试了一下,搞定了,用NSString的stringByReplacingPercentEscapesUsingEncoding方法就可以了,可以这样子:

 
  NSString* strAfterDecodeByUTF8AndURI = [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"strAfterDecodeByUTF8AndURI=%@", strAfterDecodeByUTF8AndURI);    

这个问题的本质时,首先这段内容是utf-8编码,然后又进行了URL Encode,所以解码的时候,先URL Decode,再utf-8解码即可

什么是url encode参见[url] http://www.stringfunction.com/url-decode.html[/url]

所以

stringByReplacingPercentEscapesUsingEncoding 方法是用于url decode

然后其中的参数NSUTF8StringEncoding是指定了UTF-8编码即可


网页转码:

NSURL *url = [NSURL URLWithString:urlStr];
NSData *data = [NSData dataWithContentsOfURL:url];
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];



猜你喜欢

转载自zl4393753.iteye.com/blog/1711160
今日推荐