冰浪

          哥已不再年輕 - 堅定夢想,畢生追求!
          posts - 85, comments - 90, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          J2ME對html的unicode實體編碼的轉換

          Posted on 2009-07-10 17:57 冰浪 閱讀(999) 評論(0)  編輯  收藏 所屬分類: J2ME

          在開發j2me瀏覽器時,對于html的unicode實體編碼,我們需要將轉換才能正常顯示。如下面這樣一段代碼:
          <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;//進制
                      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();
              }
           
              



           

          主站蜘蛛池模板: 曲周县| 德保县| 义马市| 前郭尔| 阆中市| 安顺市| 孝昌县| 双城市| 高陵县| 邯郸县| 金坛市| 舒兰市| 秦安县| 竹北市| 汉源县| 驻马店市| 鸡东县| 卢龙县| 香格里拉县| 平谷区| 蕲春县| 镇江市| 定安县| 尚义县| 大悟县| 保山市| 明光市| 湾仔区| 明溪县| 仲巴县| 县级市| 太湖县| 宿州市| 宁陵县| 班戈县| 马尔康县| 临湘市| 河源市| 井冈山市| 柳河县| 房产|