十進制形式的Unicode編碼和字符轉換,例如 36215北 (起)

  /**
  * 將十進制形式的Unicode編碼轉換爲字符,例如   36215->北 (起)
  * @param codePoints
  * @return
  */
 public static String fromCharCode(int... codePoints) {
  
  StringBuilder builder = new StringBuilder(codePoints.length); 
  for (int codePoint : codePoints){      
   builder.append(Character.toChars(codePoint));  
   }   
         return builder.toString();
   }
 
 /**
  * 將起飞 轉化爲 只含有整數值的數組   result[0]=36215,result[1]=39134
  * @param unicodeStr
  * @return
  */
 public static int[] removeUnicodeFlag(String unicodeStr){
  String regex = "&#(\\d+);";
  int result[]  = new int[unicodeStr.split(";").length];
  Pattern p = Pattern.compile(regex);
  Matcher ma = p.matcher(unicodeStr);
  int i = 0;
  while (ma.find()) {
   result[i++] = Integer.parseInt(ma.group(1));
  }
  return result;
 }
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章