- String s=new String(prev.getResponseData(),"UTF-8");
- char aChar;
- int len= s.length();
- StringBuffer outBuffer=new StringBuffer(len);
- for(int x =0; x <len;){
- aChar= s.charAt(x++);
- if(aChar=='\\'){
- aChar= s.charAt(x++);
- if(aChar=='u'){
- int value =0;
- for(int i=0;i<4;i++){
- aChar= s.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);}
- prev.setResponseData(outBuffer.toString());
来源: https://www.cnblogs.com/Inbreeze/p/9776450.html