参考网址http://www.oschina.net/code/snippet_142385_4297

http://canofy.iteye.com/blog/718659

在java的很多配置文件中,尤其是国际化资源中经常遇到类似\uf432这样的unicode编码,搜集了下该编码相关的资料,大致处理方法有如下:

1、Unicode转 汉字字符串。

这个过程最简单的方式就是直接获取。比如

String cnStr = "\ufeff\u4e2d\u56fd\u4eba";

System.out.println(cnStr); 即可获取对应的汉字字符  “中国人”;

但是呢,每次从输出读的话也未免过于不方便了,我们使用方法来做转换,直接获取。

参考如下

	public static String unicodeToString(String str) {

        Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
ch = (char) Integer.parseInt(matcher.group(2), 16);
str = str.replace(matcher.group(1), ch + "");
}
return str;
}

2、获取字符串的unicode编码,这个我们可以通过直接获取字符串的unicode二进制,然后将其byte转换成对应的16进制表示即可,函数示例如下

static String getUnicode(String s) {
try {
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 0; i < bytes.length - 1; i += 2) {
out.append("\\u");
String str = Integer.toHexString(bytes[i + 1] & 0xff);
for (int j = str.length(); j < 2; j++) {
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str1);
out.append(str); }
return out.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}

通过上面的方式便可完整的使用unicode编码了,大家有其他方式的转换也可以告诉我下,互相学习

最新文章

  1. 我的MYSQL学习心得(十四) 备份和恢复
  2. NLog在Asp.Net MVC的实战应用
  3. 使用Mulesoft建立webservice, simple方式,POJO
  4. 《DSP using MATLAB》示例Example4.5
  5. log4net 发布到生产环境不写日志的解决方法--使用 NLog日志
  6. commonJS — 对象操作(for Object)
  7. Spring Data Jpa配置
  8. 使用ContentProvider管理联系人------搜索联系人
  9. node.js 浏览器中输出 “hello world”
  10. [BZOJ 1026] [SCOI 2009] Windy数 【数位DP】
  11. python用parammiko模块实现linux的远程操作
  12. 【转】android camera(四):camera 驱动 GT2005
  13. poj 2166 构造
  14. Layout 不可思议(二)—— 两侧定宽的三列布局
  15. python笔记九(迭代)
  16. Java RandomAccessFile用法 【转】
  17. 初识C语言(五)
  18. Uncertainty
  19. Python3实战系列之八(获取印度售后数据项目)
  20. Alpha阶段敏捷冲刺(二)

热门文章

  1. java笔记--适配器模式的运用
  2. codeforces 258div2 A Game With Sticks(DP)
  3. Android计时器实例
  4. SQL面试积累
  5. 解决ntp的错误 no server suitable for synchronization found
  6. devstack重启后不能运行
  7. Java RMI 框架
  8. canvas API ,通俗的canvas基础知识(二)
  9. DP:Multiplication Puzzle(POJ 1651)
  10. angularjs 指令(directive)详解(1)