工具类代码如下:

package aa.com;

import java.io.UnsupportedEncodingException;

public class UnicodeUtil {

    public static void main(String[] args) throws UnsupportedEncodingException {
String s = "简介";
System.err.println(s+" --的unicode编码是:"+encoding(s));
System.err.println(encoding(s) + " --转换成中文是:"+decodeUnicode(encoding(s)));
System.err.println("\\u9EC4%u5927" + " --转换成中文是:"+decodeUnicode("\\u9EC4\\u5927"));
} /*
* 中文转unicode编码
*/
public static String encoding(String gbString) {
char[] utfBytes = gbString.toCharArray();
String unicodeBytes = "";
for (int i = 0; i < utfBytes.length; i++) {
String hexB = Integer.toHexString(utfBytes[i]);
if (hexB.length() <= 2) {
hexB = "00" + hexB;
}
unicodeBytes = unicodeBytes + "\\u" + hexB;
}
return unicodeBytes;
}
/*
* unicode编码转中文
* 系统中接受中文参数变成百分号,如:“黄大”-->“%u9EC4%u5927”
* 而实际上内容对应,应该是:“黄大”-->“\u9EC4\u5927”,中文变unicode
*/
public static String decodeUnicode(String dataStr) {
dataStr = dataStr.replace("%","\\");//这行酌情不要
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start > -1) {
end = dataStr.indexOf("\\u", start + 2);
String charStr = "";
if (end == -1) {
charStr = dataStr.substring(start + 2, dataStr.length());
} else {
charStr = dataStr.substring(start + 2, end);
}
char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
buffer.append(new Character(letter).toString());
start = end;
}
return buffer.toString();
}
}

最新文章

  1. ubuntu kylin 14.04安装Node.js和Famous
  2. PAT 1035. 插入与归并(25)
  3. 【思路】-URL重写
  4. 学习C++的第三天
  5. StringUtils.isEmpty和StringUtils.isBlank用法
  6. [付费视频]Delphi视频Android开发使用静态库(A)和动态库(SO)
  7. 百度地图API:利用瓦片生成工具,自定义背景图片
  8. matlab 画平面
  9. AMAZON PRICE TRACKER, AMAZON PRICE HISTORY, AMAZON PRICE DROP ALERT | DROPGG.COM
  10. POJ_2914_Minimum_Cut_(Stoer_Wagner)
  11. BUG Error:Execution failed for task &#39;:app:dexDebug&#39;.
  12. Java基础(十一)常用类总结(一)
  13. js获取网页高度和宽度(备份)
  14. Deep Learning(深度学习)学习笔记整理系列之(二)
  15. break的使用for循环嵌套
  16. JProtector java应用加密工具
  17. td中的值自动换行
  18. 在.Net Framework中调用Python的脚本方法 (以VB和C#为例)
  19. 修改chrome的安装目录
  20. 用mongols轻松打造websocket应用

热门文章

  1. 【CERC2016】【BZOJ4792】村庄 搜索
  2. 命令行中的python一行流
  3. Python unittest 测试输入(input)和输出(print)
  4. Python 实现 Html 转 Markdown(支持 MathJax 数学公式)
  5. 纠错式教学法对比鼓励式教学法 -----Lily、贝乐、英孚,乐加乐、剑桥国际、优学汇、北外青少
  6. UVA11825 黑客的攻击 Hackers&#39; Crackdown 状压DP,二进制,子集枚举
  7. Mybatis插件机制以及PageHelper插件的原理
  8. 010-3 Socket协议ProtocolType
  9. mysql删除多个重复数据,多个字段添加唯一性索引
  10. 重新安装了环境报错{&quot;error&quot;:&quot;could not find driver&quot;}