經(jīng)常在調(diào)試服務(wù)端返回 JSON 結(jié)果的時(shí)候遇到Unicode 編碼的表示方法:
{
content ="\U6c5f\U897f\U7701\U4e0a\U5883\U946b\U4fce\U65e5\U4e2d\U5927\U9058155\U53f71\U5e62304\U5792";**
desc = "\U4f4f\U5740";
index = "<null>";
nID = "<null>";
}
從網(wǎng)絡(luò)上獲得的unicode碼的開(kāi)頭字母是大寫(xiě)U,一定要先轉(zhuǎn)換成小寫(xiě)。
- (NSString *)transformDic:(NSDictionary *)dic {
if (![dic count]) {
return nil;
}
NSString *tempStr1 =
[[dic description] stringByReplacingOccurrencesOfString:@"\\u"
withString:@"\\U"];
NSString *tempStr2 =
[tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
NSString *tempStr3 =
[[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
NSString *str = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:NULL error:NULL];
return str;
}
方法的調(diào)用:
//responseObject是接口返回來(lái)的Unicode數(shù)據(jù)
NSLog(@" %@",[self transformDic:responseObject]);