美文网首页
[jemter]响应数据中文显示为Unicode码的解决方法

[jemter]响应数据中文显示为Unicode码的解决方法

作者: 柠月如风000 | 来源:发表于2022-05-20 11:52 被阅读0次

1. 在线程组中添加后置处理器BeanShellPostProcessor

2. 在Script中添加转码代码

'''

//获取响应代码Unicode编码的

        String s2=new String(prev.getResponseData(),"UTF-8");

//---------------以下步骤为转码过程---------------

        char aChar;

        int len= s2.length();

        StringBuffer outBuffer=new StringBuffer(len);

        for(int x =0; x <len;){

            aChar= s2.charAt(x++);

            if(aChar=='\\'){

                aChar= s2.charAt(x++);

                if(aChar=='u'){

                    int value =0;

                    for(int i=0;i<4;i++){

                        aChar= s2.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());

'''

相关文章

网友评论

      本文标题:[jemter]响应数据中文显示为Unicode码的解决方法

      本文链接:https://www.haomeiwen.com/subject/dorfprtx.html