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());

    如图:

  • 相关阅读:
    equals()与=的区别
    HashTable和HashMap的区别
    shell高级用法——磁盘管理 创建虚拟的磁盘映射到一个文件
    shell妙用之——dd命令合并多个烧录文件为一个flash镜像
    自动解包ROM 文件获取uboot,uboot-spl ,uImage, rootfs.tar.gz 并烧写SD卡
    运用层通过shell脚本直接操控gpio
    shell脚本之位运算+for循环+返回值承接+shell小数运算
    shell函数递归调用实现目录的对比拷贝
    用debootstrip制作debian环境的rootfs
    shell命令的高级使用之---选择性copy
  • 原文地址:https://www.cnblogs.com/zy-tester/p/9593408.html
Copyright © 2011-2022 走看看