今天我遇到了以下问题。我可以用相反的目的更好地解释它:假设我们有以下base64变量,
b64_var = b'aGVsbG8gd29ybGQ='
想象一下,我们想要的不是将它解码为python的字符串对象,即
base64.b64decode(b64_var).decode('utf-8')
>>> 'hello world'
但字符串中的文字等效字符,
repr( b64_var )[1:]
>>> 'aGVsbG8gd29ybGQ='
好的,现在是我的问题。我想构建一个执行相反的功能,
'aGVsbG8gd29ybGQ=' -> b'aGVsbG8gd29ybGQ=' (base64-obj) ???
我被困了,我不知道该怎么做..有什么建议吗?提前谢谢。
答案 0 :(得分:0)
这样做你想要的吗?
b64_var = b'aGVsbG8gd29ybGQ='
print(repr(b64_var)) # b'aGVsbG8gd29ybGQ='
print(repr(b64_var)[1:]) # 'aGVsbG8gd29ybGQ='
print('b' + repr(b64_var)[1:]) # b'aGVsbG8gd29ybGQ='
答案 1 :(得分:0)
好的,我发现了问题,这比我预想的要容易。
首先,我将尝试澄清我真正想做的事情,
str_var = 'aGVsbG8gd29ybGQ=' # str_var: string
b64_var = fun_str_2_b64samechars(str_var) # b64_var: bytes (b64)
控制台,
b64_var
>>>b'aGVsbG8gd29ybGQ='
我的目标是猜测如何构建fun_str_2_b64samechars
函数。这里恰好是bytes(str_var,'utf-8')
,
bytes('aGVsbG8gd29ybGQ=','utf-8')
>>>b'aGVsbG8gd29ybGQ='
可能是因为我认为它只是某种base64类,只要我使用了base64模块(由于这个我编辑了标题)。感谢您的帮助,我希望它对某些人有用:)