在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码;

Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。
优点:速度快,ascii字符,肉眼不可理解
缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合
python2中进行Base64编码和解码

import base64
s = '我是字符串'
a = base64.b64encode(s)
print a
ztLKx9fWt/u0rg==
print base64.b64decode(a)

我是字符串

python3不太一样:因为3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码。

import base64

encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))
print(encodestr)
打印结果为
b'YWJjcjM0cjM0NHI='

结果和我们预想的有点区别,我们只想要获得YWJjcjM0cjM0NHI=,而字符串被b''包围了。
这时肯定有人说了,用正则取出来就好了。。。别急。。。
b 表示 byte的意思,我们只要再将byte转换回去就好了。。。源码如下
import base64

encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))
print(str(encodestr,'utf-8'))
打印结果为
YWJjcjM0cjM0NHI=

base64decode用法相关推荐

  1. base64模块在python2与python3中的区别

    先介绍unicode与UTF-8 来源于知乎作者:uuspider: 举一个例子:It's 知乎日报 你看到的unicode字符集是这样的编码表: I 0049 t 0074 ' 0027 s 007 ...

  2. ctfshow 命令执行 web29-web77 web118-122 web124 wp

    南神博客 文章目录 命令执行 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 w ...

  3. base64decode(), base64.b64encode()用法

    base64decode(), base64.b64encode()用法 每日一个 2021-03-30 Base64编码是一种"防君子不防小人"的编码方式.广泛应用于MIME协议 ...

  4. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  5. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  6. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  7. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  8. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  9. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

最新文章

  1. 12、Kubernetes核心技术Ingress
  2. Android:九宫格
  3. 怎么查看电脑内存和配置_电脑内存条如何选择?老司机带你如何选择电脑内存条...
  4. python list删除元素_python中List添加、删除元素的几种方法
  5. springmvc的执行流程_springmvc执行流程
  6. php基本函数对象,PHP常用函数对象_PHP教程
  7. png文件合并_png格式图片和jpg格式图片有什么区别?
  8. iPhone 12售价再曝光,可能涨价50美元
  9. 《赢道——成功创业者的28条戒律》2009年1月出版
  10. java web filter 入口_springboot 通过@WebFilter(urlPatterns )配置Filter过滤路径
  11. 深度学习2.0-11.tensorflow的高阶操作之高阶op
  12. Bolt界面引擎 HostWnd的生存周期以及相应的objtree的绑定问题
  13. SylixOS的I/O系统结构类型(ORIG型和NEW_1型)
  14. 解决服务器发回了不可路由的地址。使用服务器地址代替的问题
  15. VMware安装centos7
  16. Bootstrap Method
  17. 手把手教你,5min中,实现OBS存储桶,搭建个人网盘(秒杀百度网盘VIP)
  18. GNOME 平台的2D图形编程(GTK,GDK,Cairo...) 简介 [转]
  19. 保研笔记三 数据结构(未完待续)
  20. js截取某个字段后面的字符串

热门文章

  1. python工作岗位有哪些-Python就业岗位最多、薪资最高的职位是哪些?
  2. intent调用代码总结
  3. 转载 Intent 启动系统页面
  4. datax详解以及案例
  5. 多层穿梭式货架立柱设计细节
  6. Ubuntu提示W: mdadm: /etc/mdadm/mdadm.conf defines no arrays解决办法
  7. Tushare Day2——了解stock_basic数据并根据行业和地区进行统计
  8. 网上普通话测试软件,‎App Store 上的“普通话考试朗读-普通话水平测试”
  9. 严厉!32篇硕士论文“不合格”,同门论文将被重点抽查!
  10. anaconda下利用git维护github仓库