8.base64模块

1.简介


base64 --- url编码
    - 正常的url中只能包含ASCLL字符的,也就是字母,字母和一些符号
    - url编码就是一种用来避免url出现特殊字符(汉字之类的)编码方式
    
base64 是一种 用64个字符年表示任意二进制数据的方法
            (将二进制数据编码成ascall字符)使用了A-Z,a-z,0-9,/ 这64个字符


2.特点


用来将非ascall字符的数据转化成ascall字符的一种方法
常用对url的编码
可以将不可打印的·1二进制数据转化成为可打印的字符串

3.base64模块 API

# Base64编码后的数据可能会含有+ / 两种符号(无法网络传输)。
# 如果编码后的数据常用于url或文件的系统路径中,就可能到最后bug;
# 所以base64专门提供了编码url的方法

# 对二进制数据进行base64编码
base64.b64encode()
# 对base64编码数据进行解码
base64.b64decode()

"""

二者区别在于
url加密编码时b64encode会出现“+”, “/”符号
urlsafe_b64encode不会出现

"""

# 对url二进制数据进行base64编码
base64.urlsafe_b64encode()
# # 对url base64编码的数据进行解码
base64.urlsafe_b64decode()

import base64

data = 'https://cn.bing.com/search?q=死后自会长眠&form=QBLH&sp=-1'.encode()
print(data)
# b'https://cn.bing.com/search?q=\xe6\xad\xbb\xe5\x90\x8e\xe8\x87\xaa\xe4\xbc\x9a\xe9\x95\xbf\xe7\x9c\xa0&form=QBLH&sp=-1'

en = base64.b64encode(data)
# b'aHR0cHM6Ly9jbi5iaW5nLmNvbS9zZWFyY2g/cT3mrbvlkI7oh6rkvJrplb/nnKAmZm9ybT1RQkxIJnNwPS0x'
print(en)
de = base64.b64decode(en)
# b'https://cn.bing.com/search?q=\xe6\xad\xbb\xe5\x90\x8e\xe8\x87\xaa\xe4\xbc\x9a\xe9\x95\xbf\xe7\x9c\xa0&form=QBLH&sp=-1'
print(de)

enu = base64.urlsafe_b64encode(data)
# b'aHR0cHM6Ly9jbi5iaW5nLmNvbS9zZWFyY2g_cT3mrbvlkI7oh6rkvJrplb_nnKAmZm9ybT1RQkxIJnNwPS0x'
print(enu)
deu = base64.urlsafe_b64decode(enu)
# b'https://cn.bing.com/search?q=\xe6\xad\xbb\xe5\x90\x8e\xe8\x87\xaa\xe4\xbc\x9a\xe9\x95\xbf\xe7\x9c\xa0&form=QBLH&sp=-1
print(deu)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值