java中文和unicode编码相互转换(转)
2024-08-26 13:02:26
工具类代码如下:
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();
}
}
最新文章
- ubuntu kylin 14.04安装Node.js和Famous
- PAT 1035. 插入与归并(25)
- 【思路】-URL重写
- 学习C++的第三天
- StringUtils.isEmpty和StringUtils.isBlank用法
- [付费视频]Delphi视频Android开发使用静态库(A)和动态库(SO)
- 百度地图API:利用瓦片生成工具,自定义背景图片
- matlab 画平面
- AMAZON PRICE TRACKER, AMAZON PRICE HISTORY, AMAZON PRICE DROP ALERT | DROPGG.COM
- POJ_2914_Minimum_Cut_(Stoer_Wagner)
- BUG Error:Execution failed for task &#39;:app:dexDebug&#39;.
- Java基础(十一)常用类总结(一)
- js获取网页高度和宽度(备份)
- Deep Learning(深度学习)学习笔记整理系列之(二)
- break的使用for循环嵌套
- JProtector java应用加密工具
- td中的值自动换行
- 在.Net Framework中调用Python的脚本方法 (以VB和C#为例)
- 修改chrome的安装目录
- 用mongols轻松打造websocket应用
热门文章
- 【CERC2016】【BZOJ4792】村庄 搜索
- 命令行中的python一行流
- Python unittest 测试输入(input)和输出(print)
- Python 实现 Html 转 Markdown(支持 MathJax 数学公式)
- 纠错式教学法对比鼓励式教学法 -----Lily、贝乐、英孚,乐加乐、剑桥国际、优学汇、北外青少
- UVA11825 黑客的攻击 Hackers&#39; Crackdown 状压DP,二进制,子集枚举
- Mybatis插件机制以及PageHelper插件的原理
- 010-3 Socket协议ProtocolType
- mysql删除多个重复数据,多个字段添加唯一性索引
- 重新安装了环境报错{";error";:";could not find driver";}