美文网首页
[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