NSString值为Unicode格式的字符串编码转换成中文编码

来源:互联网 发布:淘宝面团体育 编辑:程序博客网 时间:2024/06/11 06:44
这段代码一般用于网络编程。从服务器获得的数据一般是Unicode格式字符串,要正确显示需要转换成中文编码。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// NSString值为Unicode格式的字符串编码(如\u7E8C)转换成中文
//unicode编码以\u开头
+ (NSString*)replaceUnicode:(NSString*)unicodeStr
     
   NSString*tempStr1 = [unicodeStrstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"]; 
   NSString*tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""]; 
   NSString*tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""]; 
   NSData*tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding]; 
   NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData 
                                                         mutabilityOption:NSPropertyListImmutable  
                                                                   format:NULL 
                                                         errorDescription:NULL]; 
    NSLog(@"%@",returnStr);
   return[returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"]; 
}