python - 编解码器无法解码字节 - base64-decoding
问题描述
我在解码 base64 文本时遇到了一些问题,使用base64.b64decode()
. 我有一个功能:
import base64
def base64_to_bin(base):
decoded = ''
for letter in base64.b64decode(base):
decoded += bin(letter)[2:].zfill(8)
return decoded
如果我这样做,base64_to_bin('YQ==')
我会得到01100001
. 如果我这样做,base64_to_bin('fXBz')
我会得到011111010111000001110011
. 但是,如果我将f
、X
或B
向上(或者应该向下?)移动一个字母,我会得到:
for letter in base64.b64decode(base).decode():
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 0: invalid start byte
为什么更改一个字母会破坏它?
解决方案
推荐阅读
- php - 查询 Laravel Nova Lens 的多个连接
- python - 将所有XML文件转换为python文件夹中的JSON文件?
- android - 辅助功能服务单击自定义视图不起作用(performClick 未覆盖)
- php - 使用 Amazon RDS MySQL 数据库托管在 Heroku 上的 Laravel 应用程序导致连接超时
- angular - 使用 PrimNG TurboTable 和 Angular 6 获取索引
- python - django模型字段的不同setter和getter
- php - PHP在循环内提交表单后检索先前的值
- c - 通过 2D 矩阵 Bubble-Sort C
- dependency-injection - 尝试在不使用某个食谱的依赖项的情况下运行 Chef-client
- ngrx - @ngrx 动作被无限调用并带有效果