我会创建一个 python 脚本,将 Base64 字符串解码为字节数组(或十六进制值数组)。
我项目的嵌入式端是一个微 Controller ,它从原始字节开始创建一个 base64 字符串。该字符串包含一些不可打印的字符(因此我选择 base64 编码)。
在 Pc 端,我需要解码 base64 字符串并恢复原始原始字节。
我的脚本使用 python 2.7 和 base64 库:
base64Packet = raw_input('Base64 stream:')
packet = base64.b64decode(base64Packet )
sys.stdout.write("Decoded packet: %s"%packet)
生成的字符串是一个包含一些不可打印字符的字符串。
有没有办法将 base64 字符串解码为字节(或十六进制)值?
提前致谢!
最佳答案
您可以使用 bytearray正是为了这个。可能是 binascii模块和 struct也很有帮助。
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)
关于python - 将 Base64 字符串解码为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209872/