掌间无限—Android 解析gbk、gb2312编码的xml文件

当遇到GBK或GB2312编码的XML文件,Android通常使用效率较高的SAX解析器。解决方法包括:1)利用第三方库探测XML编码;2)通过InputStreamReader设定编码;3)使用SAX解析InputSource。通过这些步骤,可以成功解析非UTF-8的XML文件。
摘要由CSDN通过智能技术生成

        工作开发中,我们遇到的XML文件大多数都是UTF—8格式的文件,可一旦遇到不是UTF—8的XML文件,我们该怎么去解析?android默认的有三种解决方式:,dom,sax,pull,考虑到在手机上运行我们的应用软件,我们大多会选择效率更高的 sax   解析方法,但 sax 解析 默认的格式是UTF—8   的XML文件。

        解决方法:

1.就是先判断URL资源上的xml文件的编码方式
2.然后通过InputStreamReader 设定好编码,然后将InputStreamReader通过InputSource的构造方法传给InputSource
3.sax解析InputSource资源时,就会按照指定的编码方式解析

1.判断url资源上的xml文件编码方式,需要通过第三方的jar文件
//得到探测器代理对象
CodepageDetectorProxy detector =   CodepageDetectorProxy.getInstance();
//向代理对象添加探测器
detector.add(JChardetFacade.getInstance());  
//得到编码字符集对象
Charset charset =  detector.detectCodepage(url);
//得到编码名称
String encodingName = charset.name();

2.通过InputStreamReader对象设定解析时的编码
InputSource in

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值