点击这里给我发消息 点击这里给我发消息

J2ME对html的unicode实体编码的转换

添加时间:2013-12-7
    相关阅读: 开发

    在开发j2me浏览器时,对于html的unicode实体编码,我们需要将转换才能正常显示。如下面这样一段代码:

    <a href="http://wap.monternet.com/">返回移动梦网</a><br />

    方法如下:

   private static String decodeUnicode(final String dataStr) {
        int start = 0;
        int end = 0;
        final StringBuffer buffer = new StringBuffer();
        while (start > -1) {
            int system = 10;//进制
            if(start==0){
                int t = dataStr.indexOf("&#");
                if(start!=t)start = t;
            }
            end = dataStr.indexOf(";", start + 2);
            String charStr = "";
            if (end != -1) {
                charStr = dataStr.substring(start + 2, end);

                //判断进制
                char s = charStr.charAt(0);
                if(s=='x' || s=='X'){
                    system = 16;
                    charStr = charStr.substring(1);
                }
            }
            //转换
            try{
                char letter = (char) Integer.parseInt(charStr,system);
                buffer.append(new Character(letter).toString());
            }catch(NumberFormatException e){
                e.printStackTrace();
            }

            //处理当前unicode字符到下一个unicode字符之间的非unicode字符
            start = dataStr.indexOf("&#",end);
            if(start-end>1){
                buffer.append(dataStr.substring(end+1, start));
            }

            //处理最后面的非unicode字符
            if(start==-1){
                int length = dataStr.length();
                if(end+1!=length){
                    buffer.append(dataStr.substring(end+1,length));
                }
            }
        }
        return buffer.toString();
    }

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册