python - 将 Base64 字符串解码为字节数组

标签 python string embedded base64 decode

我会创建一个 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/

相关文章:

vb.net - vb.net中有没有将字符串转换为整数的函数?

ruby - 为什么没有 `to_s` 的破坏性版本?

c - 如何在微 Controller 中实现多任务?

android - 从 ROM 中获取设备驱动程序

python3 除法运算符与 python2 完全相同

python - 处理 Pandas 数据框

java - 读取文件和写入新文件时替换与特定值不同的字符

c - SSH2 session 中计算量最大的步骤是什么?

python - Pandas 在数组中查找子数组的索引

python - 如何以更Pythonic的方式编写函数?