码迷,mamicode.com
首页 > Web开发 > 详细

遇到XML-GB2312网页编码的处理方法

时间:2016-03-03 20:57:05      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

1. 把请求的数据转化成data

2.XML文件的前40个字节 

    NSData * xmldata = [self.data subdataWithRange:NSMakeRange(0,40)];

    

3.以UTF-8编码进行解码

    NSString *xmlstr = [[NSString alloc] initWithData:xmldata encoding:NSUTF8StringEncoding];

    

    //搜索GB2312,如果找到,就把GB2312 改成 utf-8 (ps:替换字符串)

    if ([xmlstr rangeOfString:@"\"GB2312\"" options:NSCaseInsensitiveSearch].location != NSNotFound)

    {

        NSLog(@"遇到:GB2312 encoding founded.正在把GB2312改成utf-8");

        

        NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

        NSString *utf8str = [[NSString alloc] initWithData:self.data encoding:enc];

        utf8str = [utf8str stringByReplacingOccurrencesOfString:@"\"GB2312\"" withString:@"\"utf-8\"" options:NSCaseInsensitiveSearch range:NSMakeRange(0,40)];

//新的数据,可以进行正常解析

        NSData *newData = [utf8str dataUsingEncoding:NSUTF8StringEncoding];

 

    }

遇到XML-GB2312网页编码的处理方法

标签:

原文地址:http://www.cnblogs.com/benxiaokang/p/5239734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!