冰浪

          哥已不再年輕 - 堅(jiān)定夢(mèng)想,畢生追求!
          posts - 85, comments - 90, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          在開發(fā)j2me瀏覽器時(shí),對(duì)于html的unicode實(shí)體編碼,我們需要將轉(zhuǎn)換才能正常顯示。如下面這樣一段代碼:
          <a >返回移动梦网</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;//進(jìn)制
                      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);
                          
                          
          //判斷進(jìn)制
                          char s = charStr.charAt(0);
                          
          if(s=='x' || s=='X'){
                              system 
          = 16;
                              charStr 
          = charStr.substring(1);
                          }

                      }

                      
          //轉(zhuǎn)換
                      try{
                          
          char letter = (char) Integer.parseInt(charStr,system);
                          buffer.append(
          new Character(letter).toString());
                      }
          catch(NumberFormatException e){
                          e.printStackTrace();
                      }

                      
                      
          //處理當(dāng)前unicode字符到下一個(gè)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();
              }
           
              



           

          主站蜘蛛池模板: 南乐县| 邛崃市| 缙云县| 斗六市| 阿瓦提县| 高台县| 陇西县| 林口县| 凤山县| 壤塘县| 鞍山市| 博兴县| 连江县| 新乡市| 泰安市| 马尔康县| 治多县| 凤庆县| 易门县| 天等县| 三门峡市| 铅山县| 双城市| 兰州市| 津市市| 泗阳县| 准格尔旗| 民和| 恩施市| 玉屏| 抚州市| 东乡族自治县| 晋宁县| 阜新市| 潢川县| 昭觉县| 西贡区| 苏尼特右旗| 靖远县| 进贤县| 高唐县|