浏览 1845 次
锁定老帖子 主题:把转换Unicode为原始字符的方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-23
支持任何Unicode字符串的转换。
private static final Pattern REG_UNICODE = Pattern.compile("[0-9A-Fa-f]{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(); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |