JAVA UNICODE转中文

public static String decodeUnicode(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();    
		  
		      }    testtest


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值