zoukankan      html  css  js  c++  java
  • jmeter接口测试--响应结果Unicode转码成中文

    jmeter接口测试-响应结果Unicode转码成中文

    一般情况下,接口返回数据都会经过加密,所以有时相应结果会显示为Unicode,因此,需添加BeanShell PostProcessor,加入代码将其转为中文

    1.线程中添加BeanShell PostProcessor

    2.添加代码    

    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=' ';

                        else if(aChar=='r')

                        aChar=' ';

                        else if(aChar=='n')

                        aChar=' ';

                        else if(aChar=='f')

                        aChar='f';

                        outBuffer.append(aChar);}}else

                    outBuffer.append(aChar);}

            prev.setResponseData(outBuffer.toString());

    如图:

  • 相关阅读:
    高性能JavaScript
    高性能CSS
    去掉超链接文字点击后的灰色框
    高性能HTML
    css整站规划
    css hack 和问题
    IE6支持min-width、max-width CSS样式属性
    WPF草稿
    正则表达式学习日记zz
    详解Adorner Layer(zz)
  • 原文地址:https://www.cnblogs.com/zy-tester/p/9593408.html
Copyright © 2011-2022 走看看