base64
base64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。
# 想将字符串转编码成base64, 要先将字符串转换成二进制数据
import base64
url = "https://www.cnblogs.com/songzhixue/"
bytes_url = url.encode("utf-8")
print(bytes_url) # b'https://www.cnblogs.com/songzhixue/'
str_url = base64.b64encode(bytes_url) # 被编码的参数必须是二进制数据
print(str_url) # b'aHR0cHM6Ly93d3cuY25ibG9ncy5jb20vc29uZ3poaXh1ZS8='
str_url = base64.b64encode(bytes_url).decode()
print(str_url) # aHR0cHM6Ly93d3cuY25ibG9ncy5jb20vc29uZ3poaXh1ZS8=
base64 编码是从二进制到字符,可用于在HTTP环境下传递较长的标识信息。
采用Base64编码具有不可读性,需要解码后才能阅读。
# 将base64解码成字符串
import base64
url = "aHR0cHM6Ly93d3cuY25ibG9ncy5jb20vc29uZ3poaXh1ZS8="
str_url = base64.b64decode(url).decode("utf-8")
print(str_url)
#'https://www.cnblogs.com/songzhixue/'
其中,Python encode() 方法,是以 encoding 指定的编码格式编码字符串。
encode()方法:
str.encode(encoding=‘UTF-8’,errors=‘strict’)
参数:
encoding – 要使用的编码,如"UTF-8"。
errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。
utf-8解析可参考:https://zhuanlan.zhihu.com/p/137875615