java进行汉字unicode转变成utf-8汉字
2015-03-29 11:22
477 查看
/**
* 将unicode编码转换成汉字
* @param theString
* @return
*/
public static String decodeUnicode(String theString) {
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
try {
for (int x = 0; x < len;) {
aChar = theString.charAt(x++);
if (aChar == '\\') {
aChar = theString.charAt(x++);
if (aChar == 'u') {
int value = 0;
for (int i = 0; i < 4; i++) {
aChar = theString.charAt(x++);
switch (aChar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + aChar - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + aChar - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + aChar - 'A';
break;
default:
throw new IllegalArgumentException(
"Malformed \\uxxxx encoding.");
}
}
outBuffer.append((char) value);
} else {
if (aChar == 't')
aChar = '\t';
else if (aChar == 'r')
aChar = '\r';
else if (aChar == 'n')
aChar = '\n';
else if (aChar == 'f')
aChar = '\f';
outBuffer.append(aChar);
}
} else
outBuffer.append(aChar);
}
} catch (Exception e) {
// TODO: handle exception
return theString;
}
return outBuffer.toString();
}
* 将unicode编码转换成汉字
* @param theString
* @return
*/
public static String decodeUnicode(String theString) {
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
try {
for (int x = 0; x < len;) {
aChar = theString.charAt(x++);
if (aChar == '\\') {
aChar = theString.charAt(x++);
if (aChar == 'u') {
int value = 0;
for (int i = 0; i < 4; i++) {
aChar = theString.charAt(x++);
switch (aChar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + aChar - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + aChar - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + aChar - 'A';
break;
default:
throw new IllegalArgumentException(
"Malformed \\uxxxx encoding.");
}
}
outBuffer.append((char) value);
} else {
if (aChar == 't')
aChar = '\t';
else if (aChar == 'r')
aChar = '\r';
else if (aChar == 'n')
aChar = '\n';
else if (aChar == 'f')
aChar = '\f';
outBuffer.append(aChar);
}
} else
outBuffer.append(aChar);
}
} catch (Exception e) {
// TODO: handle exception
return theString;
}
return outBuffer.toString();
}
相关文章推荐
- java爬取网页Unicode 转 utf-8 汉字
- Android Java中将unicode的汉字码转换成utf-8格式的汉字
- java中以utf8和gbk编码的汉字对应的二进制,以及用unicode进行正则匹配
- java Unicode 转 utf-8 汉字
- 利用java对基本汉字(unicode编码4E00-9FA5)进行笔画排序
- java中unicode utf-8以及汉字之间的转换工具类
- java中unicode utf-8以及汉字之间的转换工具类
- 将unicode编码的中文汉字转变成UTF-8编码的php程序
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- UTF-8, Unicode, GB2312三种编码方式解析, 深入研究汉字编码
- JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础[引]
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- 第二篇:JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- java中使用JDK的native2ascii进行字符转换 国际化中的汉字转换
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- JAVA程序:UTF码进行文件的读写