十进制形式的Unicode编码和字符转换,例如 36215<->北 (起)


  /**
  * 将十进制形式的Unicode编码转换为字符,例如   36215->北 (&#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();
   }
 
 /**
  * 将&#36215;&#39134; 转化为 只含有整数值的数组   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;
 }
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM