nssting 编码问题

%3Cimg%20alt%3D%22%u5FAE%u7B11%22%20src%3D%22/anjiaoban/Themes/Scripts/xhEditor/xheditor_emot/default/smile.gif%22%20/%3E%3Cspan%20style%3D%22color%3A%23ff0000%3B%22%3E%u9648%u663E%u5B87%3C/span%3E%3Cimg%20alt%3D%22%u5FAE%u7B11%22%20src%3D%22/anjiaoban/Themes/Scripts/xhEditor/xheditor_emot/default/smile.gif%22%20/%3E%3Cstrong%3E%u6D4B%u8BD5%3C/strong%3E  

服务器返回这样的数据

NSString *desc = [responseDic objectForKey:@"desc"];
        if ([desc length]>0) {
            NSArray *arr = [desc componentsSeparatedByString:@"%u"];
            NSMutableString *mus = [NSMutableString string];
            for (NSString *s1 in arr) {
                [mus appendFormat:@"\\u%@",s1];
            }
            [mus replaceCharactersInRange:NSMakeRange(0, 2) withString:@""];
            NSLog(@"%@",mus);
            
            
            NSString *str3 = [mus stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
            
            NSArray *arr1 = [str3 componentsSeparatedByString:@"\\u"];
            for (NSString *str in arr1) {
                NSLog(@"%@",str);
            }
            NSMutableString *content = [NSMutableString string];
            [content appendString:arr1[0]];
            for (int i=1; i<arr1.count; i++) {
                NSMutableString *mustring = [NSMutableString stringWithString:arr1[i]];
                NSString *utf = [NSString stringWithFormat:@"\\u%@",[mustring substringToIndex:4]];
                NSString *q = [GlobalClass replaceUnicode:utf];
                [mustring replaceCharactersInRange:NSMakeRange(0, 4) withString:q];
                
                [content appendString:mustring];
            }

// NSString值为Unicode格式的字符串编码(如\u7E8C)转换成中文
//unicode编码以\u开头
- (NSString *)replaceUnicode:(NSString *)unicodeStr
{
    
    NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
    NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
    NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
    NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData
                                                          mutabilityOption:NSPropertyListImmutable
                                                                    format:NULL
                                                          errorDescription:NULL];
    NSLog(@"%@",returnStr);
    return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值