base64decode用法
在一些项目中,接口的报文是通过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用法相关推荐
- base64模块在python2与python3中的区别
先介绍unicode与UTF-8 来源于知乎作者:uuspider: 举一个例子:It's 知乎日报 你看到的unicode字符集是这样的编码表: I 0049 t 0074 ' 0027 s 007 ...
- ctfshow 命令执行 web29-web77 web118-122 web124 wp
南神博客 文章目录 命令执行 web29 web30 web31 web32 web33 web34 web35 web36 web37 web38 web39 web40 web41 web42 w ...
- base64decode(), base64.b64encode()用法
base64decode(), base64.b64encode()用法 每日一个 2021-03-30 Base64编码是一种"防君子不防小人"的编码方式.广泛应用于MIME协议 ...
- c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...
- Pandas_transform的用法
先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python yield 和 yield from用法总结
#例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...
- tf.nn.embedding_lookup()的用法
函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...
最新文章
- 12、Kubernetes核心技术Ingress
- Android:九宫格
- 怎么查看电脑内存和配置_电脑内存条如何选择?老司机带你如何选择电脑内存条...
- python list删除元素_python中List添加、删除元素的几种方法
- springmvc的执行流程_springmvc执行流程
- php基本函数对象,PHP常用函数对象_PHP教程
- png文件合并_png格式图片和jpg格式图片有什么区别?
- iPhone 12售价再曝光,可能涨价50美元
- 《赢道——成功创业者的28条戒律》2009年1月出版
- java web filter 入口_springboot 通过@WebFilter(urlPatterns )配置Filter过滤路径
- 深度学习2.0-11.tensorflow的高阶操作之高阶op
- Bolt界面引擎 HostWnd的生存周期以及相应的objtree的绑定问题
- SylixOS的I/O系统结构类型(ORIG型和NEW_1型)
- 解决服务器发回了不可路由的地址。使用服务器地址代替的问题
- VMware安装centos7
- Bootstrap Method
- 手把手教你,5min中,实现OBS存储桶,搭建个人网盘(秒杀百度网盘VIP)
- GNOME 平台的2D图形编程(GTK,GDK,Cairo...) 简介 [转]
- 保研笔记三 数据结构(未完待续)
- js截取某个字段后面的字符串
热门文章
- python工作岗位有哪些-Python就业岗位最多、薪资最高的职位是哪些?
- intent调用代码总结
- 转载 Intent 启动系统页面
- datax详解以及案例
- 多层穿梭式货架立柱设计细节
- Ubuntu提示W: mdadm: /etc/mdadm/mdadm.conf defines no arrays解决办法
- Tushare Day2——了解stock_basic数据并根据行业和地区进行统计
- 网上普通话测试软件,App Store 上的“普通话考试朗读-普通话水平测试”
- 严厉!32篇硕士论文“不合格”,同门论文将被重点抽查!
- anaconda下利用git维护github仓库