Noa*_*oam 3 python base64 python-2.7
我正在使用Python 2.7(这意味着没有base64.decodebytes()),我需要将我的base64字符串转换为例如aW0ganVzdCBhIGJhc2UgNjQgZmlsZQ==二进制(即1和0的字符串)。
我想尝试以某种方式将base 64字符串写入文件wb,然后用读取,rb但即使是在wb写入时也是如此-打开文件时,我仍然看到原始的base 64字符串。
我想念什么?
谢谢
您可以使用列表推导中的ord和format函数进行转换。
import base64
data = 'aW0ganVzdCBhIGJhc2UgNjQgZmlsZQ=='
print [format(ord(c), '08b') for c in base64.b64decode(data)]
Run Code Online (Sandbox Code Playgroud)
输出
['01101001', '01101101', '00100000', '01101010', '01110101', '01110011', '01110100', '00100000', '01100001', '00100000', '01100010', '01100001', '01110011', '01100101', '00100000', '00110110', '00110100', '00100000', '01100110', '01101001', '01101100', '01100101']
Run Code Online (Sandbox Code Playgroud)
如果您希望将其作为单个字符串,则只需.join:
''.join([format(ord(c), '08b') for c in base64.b64decode(data)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |