`
starbhhc
  • 浏览: 635071 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

J2ME中html的unicode编码转换

阅读更多
在开发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();   
    }    
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics