2024-04-19 15:27:22 发布
网友
如果我有一个二进制字符串,比如str = "010100011010101001001101100101100110101",它是其他字符串的base64编码版本,我如何解码这个字符串?在
str = "010100011010101001001101100101100110101"
如果您的示例字符串实际上是有意义的东西,而不是让这个问题变得相当模糊的东西,那就太好了,但是我将尽我所能,尽可能详细地找出您的意思。在
假设您的实际输入是一个str,如下所示:
str
s = '101100101010011010000100011000001011010010110000100111000110000'
您可以通过使用base关键字参数将其转换为int来获得十六进制形式
base
int
然后通过如下格式将其转换回字符串:
>>> h = '%x' % i # '595342305a584e30'
然后对十六进制字符串使用^{}函数来获取原始字节:
>>> b64 = binascii.a2b_hex(h) # b'YSB0ZXN0'
如果它是一些有效的base64编码的字节流,那么可以使用^{}来获得实际的字节
>>> r = base64.b64decode(b64) # b'a test'
要将其转换为字符串,请对其应用正确的编解码器(即使用bytes.encode)。在
bytes.encode
最后,如果您想知道我是如何生成该输入的,请将其全部转换为一个单行函数:
>>> '{0:b}'.format(int(binascii.b2a_hex(base64.b64encode(b'a test')), base=16)) '101100101010011010000100011000001011010010110000100111000110000'
如果您的示例字符串实际上是有意义的东西,而不是让这个问题变得相当模糊的东西,那就太好了,但是我将尽我所能,尽可能详细地找出您的意思。在
假设您的实际输入是一个
str
,如下所示:您可以通过使用
^{pr2}$base
关键字参数将其转换为int
来获得十六进制形式然后通过如下格式将其转换回字符串:
然后对十六进制字符串使用^{} 函数来获取原始字节:
如果它是一些有效的base64编码的字节流,那么可以使用^{} 来获得实际的字节
要将其转换为字符串,请对其应用正确的编解码器(即使用
bytes.encode
)。在最后,如果您想知道我是如何生成该输入的,请将其全部转换为一个单行函数:
相关问题 更多 >
编程相关推荐