package com.tuan.util;
/*
* string涓巙nicode涔嬮棿鐩镐簰杞崲
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UnicodeString {
//转换为unicode
public static String encodeUnicode(final String gbString) {
char[] utfBytes = gbString.toCharArray();
String unicodeBytes = "";
for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {
String hexB = Integer.toHexString(utfBytes[byteIndex]);
if (hexB.length() <= 2) {
hexB = "00" + hexB;
}
unicodeBytes = unicodeBytes + "\\u" + hexB;
}
return unicodeBytes;
}
//unicode转化汉字
public static StringBuffer decodeUnicode(final String dataStr) {
final StringBuffer buffer = new StringBuffer();
String tempStr = "";
String operStr = dataStr;
if (operStr != null && operStr.indexOf("\\u") == -1)
return buffer.append(operStr);
if (operStr != null && !operStr.equals("")
&& !operStr.startsWith("\\u")) {
tempStr = operStr.substring(0, operStr.indexOf("\\u"));
operStr = operStr.substring(operStr.indexOf("\\u"), operStr.length());// operStr字符一定是以unicode编码字符打头的字符串
}
buffer.append(tempStr);
// 循环处理,处理对象一定是以unicode编码字符打头的字符串
while (operStr != null && !operStr.equals("")&& operStr.startsWith("\\u")) {
tempStr = operStr.substring(0, 6);
operStr = operStr.substring(6, operStr.length());
String charStr = "";
charStr = tempStr.substring(2, tempStr.length());
char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
buffer.append(new Character(letter).toString());
if (operStr.indexOf("\\u") == -1) {
buffer.append(operStr);
} else { // 处理operStr使其打头字符为unicode字符
tempStr = operStr.substring(0, operStr.indexOf("\\u"));
operStr = operStr.substring(operStr.indexOf("\\u"), operStr.length());
buffer.append(tempStr);
}
}
return buffer;
}
}
分享到:
相关推荐
主要为大家详细介绍了Java实现中文字符串与unicode互转的工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
两款工具(中文与asc码,unicode码互转)
转换效果:中文English <--> 4e2d65870045006e0067006c006900730068
各种编码的编码规则,其中包括了punycode,GBK,Unicode互转的最原始的原理,包括了代码,很全面的.
这个项目的缘起是,前几天女朋友问我有没有java的拼音转汉字的库,一查似乎没有,于是找到python-pinyin,剽窃之。 :joy: 哈哈。 将汉字转拼音,或者是将拼音转汉字的一个工具库,内存占用很小。功能有: 1. 支持...
Unicode转码,中文和Unicode互转工具。
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
20、EJB与JAVA BEAN的区别? Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有...
dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等。支持直接将文件拖放到源和目标文件这,不用每次都点浏览选择。软件暂时支持WinXP、Win7、Win2003系统。 主要功能: 1、反编译apk; 2、重新打包...
dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等。支持直接将文件拖放到源和目标文件,不用每次都点浏览选择。软件暂时支持WinXP、Win7、Win2003系统。 功能介绍 1、反编译apk; 2、重新打包成...
23、EJB与JAVA BEAN的区别? Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应...
7、内嵌Unicode、AscII互转工具,以方便硬编码的文字(如汉字)的搜索和汉化类修改。 8、内置类似于系统cmd.exe的命令窗口,高手也可以手动直接输入各种命令来手动操作。 9、所有操作步骤、操作结果都以良好的阅读...