1public static String decodeUnicode(String theString) { 2 char aChar; 3 int len = theString.length(); 4 StringBuffer outBuffer = new StringBuffer(len); 5 for (int x = 0; x < len;) { 6 aChar = theString.charAt(x++); 7 if (aChar == '\\') { 8 aChar = theString.charAt(x++); 9 if (aChar == 'u') { 10 // Read the xxxx 11 int value = 0; 12 for (int i = 0; i < 4; i++) { 13 aChar = theString.charAt(x++); 14 switch (aChar) { 15 case '0': 16 case '1': 17 case '2': 18 case '3': 19 case '4': 20 case '5': 21 case '6': 22 case '7': 23 case '8': 24 case '9': 25 value = (value << 4) + aChar - '0'; 26 break; 27 case 'a': 28 case 'b': 29 case 'c': 30 case 'd': 31 case 'e': 32 case 'f': 33 value = (value << 4) + 10 + aChar - 'a'; 34 break; 35 case 'A': 36 case 'B': 37 case 'C': 38 case 'D': 39 case 'E': 40 case 'F': 41 value = (value << 4) + 10 + aChar - 'A'; 42 break; 43 default: 44 throw new IllegalArgumentException("Malformed \\uxxxx encoding."); 45 } 46 } 47 outBuffer.append((char) value); 48 } else { 49 if (aChar == 't') 50 aChar = '\t'; 51 else if (aChar == 'r') 52 aChar = '\r'; 53 else if (aChar == 'n') 54 aChar = '\n'; 55 else if (aChar == 'f') 56 aChar = '\f'; 57 outBuffer.append(aChar); 58 } 59 } else 60 outBuffer.append(aChar); 61 } 62 return outBuffer.toString(); 63 }
java Unicode 转为中文
Wesley13
2021-10-11
1532 1 0
点赞
收藏
评论区
加载中...