在Python中编码和解码 Base64 字符串
Base64 编码用于将具有二进制或文本数据的字节转换为 ASCII字符。编码可防止数据在通过纯文本系统传输或处理时被损坏。在本文中,我们将讨论 Base64 编码和解码及其用于编码和解码二进制和文本数据的用途。
Base64 编码:
它是将字节转换为 ASCII字符的一种类型。下面提到了可用的 Base64字符列表:
- 26个大写字母
- 26个小写字母
- 10 个号码
- + 和 / 换行
每个 Base64字符代表 6 位数据。同样重要的是要注意,出于显而易见的原因,它并不意味着加密。
要将字符串转换为 Base64字符,应遵循以下步骤:
- 获取字符串中每个字符的 ASCII 值。
- 计算 ASCII 值的 8 位二进制等效值
- 通过重新分组数字将 8 位字符块转换为 6 位块
- 将 6 位二进制组转换为其各自的十进制值。
- 使用 Base64 编码表为每个十进制值对齐各自的 Base64 值。
下图为我们提供了 Base64 编码表。
使用Python对字符串进行编码:
在Python中,base64 模块用于对数据进行编码和解码。首先,将字符串转换为类似字节的对象,然后使用 base64 模块进行编码。下面的示例显示编码字符串的实现不是 base64字符。
在Python中,base64 模块用于对数据进行编码和解码。首先,将字符串转换为类似字节的对象,然后使用 base64 模块进行编码。下面的示例显示编码字符串的实现不是 base64字符。
例子:
import base64
sample_string = "GeeksForGeeks is the best"
sample_string_bytes = sample_string.encode("ascii")
base64_bytes = base64.b64encode(sample_string_bytes)
base64_string = base64_bytes.decode("ascii")
print(f"Encoded string: {base64_string}")
输出:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
使用Python解码字符串:
解码 Base64字符串与编码完全相反。首先,我们将 Base64字符串转换为未编码的数据字节,然后将字节类对象转换为字符串。下面的示例描述了上述示例编码字符串输出的解码。
例子:
import base64
base64_string =" R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA =="
base64_bytes = base64_string.encode("ascii")
sample_string_bytes = base64.b64decode(base64_bytes)
sample_string = sample_string_bytes.decode("ascii")
print(f"Decoded string: {sample_string}")
输出:
Decoded string: GeeksForGeeks is the best
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。