Java将汉字转换\uxxx方式
2018-07-20 来源:open-open
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * String and Unicode convert each other. * @author yzh.lin * @since 2012-08-09 * */ public class UnicodeConverter { private static final Pattern REG_UNICODE = Pattern.compile("[0-9A-Fa-f]{4}"); private static final Pattern EN_CODE = Pattern.compile("[A-Za-z]{4}"); public static String unicode2String(String str) { StringBuilder sb = new StringBuilder(); int len = str.length(); for (int i = 0; i < len; i++) { char c1 = str.charAt(i); if (c1 == '\\' && i < len - 1) { char c2 = str.charAt(++i); if (c2 == 'u' && i <= len - 5) { String tmp = str.substring(i + 1, i + 5); Matcher matcher = REG_UNICODE.matcher(tmp); if (matcher.find()) { sb.append((char) Integer.parseInt(tmp, 16)); i = i + 4; } else { sb.append(c1).append(c2); } } else { sb.append(c1).append(c2); } } else { sb.append(c1); } } return sb.toString(); } /** * Convert the whole String object. * @param str * @return */ public static String string2Unicode(String str) { StringBuilder sb=new StringBuilder(); for(int i=0;i<str.length();i++) { String tmpStr = Integer.toHexString(str.charAt(i)); if(tmpStr.length() < 4){ sb.append("\\u00"); }else{ sb.append("\\u"); } sb.append(tmpStr); } return sb.toString(); } /** * Just convert Chinese String * @param str * @return */ public static String chinese2Unicode(String str){ StringBuilder sb=new StringBuilder(); for(int i=0;i<str.length();i++) { String tmpStr = Integer.toHexString(str.charAt(i)); if(tmpStr.length() < 4){ sb.append(str.charAt(i)); }else{ sb.append("\\u"); sb.append(tmpStr); } } return sb.toString(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:java获得昨天时间
下一篇:java 程序计时
最新资讯
热门推荐