Fed*_*ico 10 python string embedded base64 decode
我将创建一个python脚本,将Base64字符串解码为byte(或Hex值数组)数组.
我的项目的嵌入式一面是一个微控制器,它从原始字节开始创建一个base64字符串.该字符串包含一些不可打印的字符(因此我选择base64编码).
在Pc端,我需要解码base64字符串并恢复原始的原始字节.
我的脚本使用python 2.7和base64库:
base64Packet = raw_input('Base64 stream:')
packet = base64.b64decode(base64Packet )
sys.stdout.write("Decoded packet: %s"%packet)
Run Code Online (Sandbox Code Playgroud)
结果字符串是一个字符串,其中包含一些不可打印的char.
有没有办法将base64字符串解码为字节(或十六进制)值?
提前致谢!
您可以使用bytearray来实现这一点.可能binascii模块和结构也可能有用.
import binascii
import struct
binstr=b"thisisunreadablebytes"
encoded=binascii.b2a_base64(binstr)
print encoded
print binascii.a2b_base64(encoded)
ba=bytearray(binstr)
print list(ba)
print binascii.b2a_hex(binstr)
print struct.unpack("21B",binstr)
Run Code Online (Sandbox Code Playgroud)