Python常用模块 之 base64模块

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python常用模块 之 base64模块相关的知识,希望对你有一定的参考价值。

目录:

每篇前言:


1.base64模块:

1.1 base64(url编码):

  • 正常的URL中是只能包含ASCII字符的,也就是字母,数字和一些符号,URL编码就是一种用来避免URL出现特殊字符(比如汉字)的编码方式。

  • base64是一种用64个字符来表示任意二进制数据的方法,(将二进制数据编码成ASCII字符)使用了A-Z,a-z,0-9,+,/这64个字符。

  • 特点:
    用来将非ASCII字符的数据转换成ASCII字符的一种方法;
    常用于对URL的编码;
    可以将不可打印的二进制数据转化为可打印的字符串。

1.2 base64模块API:

Base64编码后的数据可能会含有 + / 两个符号,如果编码后的数据用于URL或文件的系统路径中,就可能导致Bug,所以base模块提供了专门编码url(url网页中不能包含+/)的方法,下面第三个方法可以将+/转换为-和_。

  1. 对二进制数据进行base64编码:
    base64.b64encode(s)

  2. 对通过base64编码的数据进行解码:
    base64.b64decode(s)

  3. 对URL进行base64编码:
    base64.urlsafe_b64encode(s)

  4. 对URL进行base64解码:
    base64.urlsafe_b64decode(s)

1.3 简单使用:

①对字符串进行编码解码:

# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
import base64

data = 'guhanzhe'.encode()

# 编码
data_encode = base64.b64encode(data)    # 编码数据必须是bytes类型
print(data_encode)

# 解码
data_decode = base64.b64decode(data_encode)
print(data_decode)

②对URL进行编码解码:

# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
import base64

url = 'http://www.baidu.com/'

# 编码
url_encode = base64.b64encode(url.encode())    # 编码数据必须是bytes类型
print(url_encode)

# 解码
url_decode = base64.b64decode(url_encode)
print(url_decode)

以上是关于Python常用模块 之 base64模块的主要内容,如果未能解决你的问题,请参考以下文章

python 常用内建模块 base64

四十三 常用内建模块 base64

Python模块——HashLib与base64

Python模块——HashLib(摘要算法)与base64

Python中的base64模块

初探Python标准库~八个自带模块的妙用