隨筆 - 3  文章 - 8  trackbacks - 0
          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(1)

          隨筆檔案(8)

          文章檔案(1)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          有時(shí)候需要輸出漢字的Unicode值,而且不是在property文件中,這樣就沒有現(xiàn)成的方法,其實(shí),
          System.out.println((int)'我');
          輸出的數(shù)字就是10進(jìn)制的unicode值,轉(zhuǎn)為16進(jìn)制即可。

          自己寫的轉(zhuǎn)換函數(shù):

              /**
               * 返回16進(jìn)制字符串
               * 
          @param k 待轉(zhuǎn)換的10進(jìn)制整數(shù)
               * 
          @return 16進(jìn)制字符串
               * 
          @param headOrNo 是否加"0x"開頭,是則加,否則不加
               
          */
              
          public static String toHex(int k, boolean headOrNo) {
                  StringBuffer sb 
          = new StringBuffer("");
                  String flag 
          = "0x";
                  
          if (k < 0) {
                      flag 
          = "-0x";
                      k 
          *= -1;
                  }
                  
          int t;
                 
                  
          do {
                      t 
          = k % 16;
                      
          if (t > 9) {
                          
          char c = 'A';
                          
          for (int i=0; i<t-10; i++,c++);
                          sb.insert(
          0,c);
                      } 
          else {
                          sb.insert(
          0,t);
                      }
                      k 
          /= 16;
                  } 
          while(k > 0);
                  
          if (headOrNo) {
                      sb.insert(
          0,flag);
                  } 
          else {
                      
          return sb.toString();
                  }
                  
          return sb.toString();
              }

              /**
               * 返回字符的unicode碼字符串
               * 
          @param c 待轉(zhuǎn)換的字符
               * 
          @return 字符的unicode碼:/uXXXX
               
          */
              
          public static String char2Unicode(char c) {
                  
          return "/u" + toHex(c, false);
              }
             
              /**
               * 返回字符串的unicode碼字符串
               * 
          @param s 待轉(zhuǎn)換的字符串
               * 
          @return 字符串的unicode碼:/uXXXX/uXXXX
               
          */
              
          public static String getUnicode2(String s) {
                  StringBuffer sb 
          = new StringBuffer("");
                  
          char c[] = s.toCharArray();
                  
          for (int i=0; i<c.length; i++) {
                      sb.append(char2Unicode(c[i]));
                  }
                  
          return sb.toString();
              }


          Unicode聯(lián)盟的網(wǎng)站有一個(gè)到碼表的鏈接,列出了16位碼值。英語(yǔ),法語(yǔ),德語(yǔ),葡萄牙語(yǔ)和西班牙語(yǔ)字符都在Basic Latin區(qū),日語(yǔ)字符在Hiragana區(qū),俄語(yǔ)字符在Cyrillic區(qū),漢語(yǔ)字符在CJK Unified Ideographs 區(qū)。
          posted on 2007-12-05 11:50 cccp21 閱讀(987) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 石渠县| 抚松县| 安吉县| 观塘区| 丽江市| 瓦房店市| 财经| 安西县| 同江市| 海安县| 额尔古纳市| 姜堰市| 南乐县| 衡阳县| 辽阳县| 克什克腾旗| 海门市| 任丘市| 延川县| 同德县| 三台县| 盐城市| 循化| 商洛市| 惠来县| 长宁区| 文成县| 澄江县| 沁阳市| 富民县| 江山市| 株洲县| 宝坻区| 鄢陵县| 射洪县| 东方市| 潼南县| 申扎县| 鹤山市| 宁乡县| 长泰县|