/** |
* 工具类 |
*/ |
public class Util { |
/** |
* unicode解码(unicode编码转中文) |
* |
* @param theString |
* @return |
*/ |
public static String unicodeDecode(String theString) { |
char aChar; |
int len = theString.length(); |
StringBuffer outBuffer = new StringBuffer(len); |
for ( int x = 0 ; x < len;) { |
aChar = theString.charAt(x++); |
if (aChar == '\\' ) { |
aChar = theString.charAt(x++); |
if (aChar == 'u' ) { |
// Read the xxxx |
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); |
} |
return outBuffer.toString(); |
} |
} |
中级程序员
by: 银狐 发表于:2013-11-08 12:42:36 顶(0) | 踩(0) 回复
java新手,求教如何使用....
每次有中文编译时总会提示什么未结束,文字无法映射什么的
回复评论