繁体   English   中英

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

[英]Decode Base64 string to byte array

我将创建一个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)

结果字符串是一个字符串,其中包含一些不可打印的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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM