假设我得到了字符串(应该是一个字节):
"b'YzJGNVltYzJGNVltOTBlbk5oZVdKdmRIcHpZWGxpYjNSNmMyRjVZbTkwZW5OaGVXSnZkSHB6WVhsaWIzUjZjMkY1WW05MGVnOTBlblJsYzNRPXNheWJvdHo='"
我想解码它,但它说它必须以字节为单位,所以我必须以某种方式将其转换为这个
b'YzJGNVltYzJGNVltOTBlbk5oZVdKdmRIcHpZWGxpYjNSNmMyRjVZbTkwZW5OaGVXSnZkSHB6WVhsaWIzUjZjMkY1WW05MGVnOTBlblJsYzNRPXNheWJvdHo='
我在一个聊天客户端上工作,当它发送数据(字节)时,它在通过服务器时以某种方式变成了一个字符串,当它到达另一端时,它无法解码
ps:是ENCRYPT,解码会给出随机数和字母,客户端会解密
哦,而且,我真的不知道 '=' 符号是否应该在那里,当我在我和我的 friend 之间的测试中获得数据时,我得到它就像那个字符串( top) 错误说它必须以字节为单位。
客户端部分代码(只给大家看一行,其余保密):
base64.b64decode(that_string).decode('ascii')
它主要使用 ascii 所以我认为这是对的,对吧?
更多信息:
base64.b64encode(message.encode('ascii'))
这里的消息是获取对方发送过来的字符串
Room.message(str(secretEncrypt(par, codes())))
我不知道我是怎么想念这个的,它在发送之前就对它进行了处理 =.= 好吧,它仍然需要将其转换为字节,我该怎么做?
请您参考如下方法:
以下非常有效
>>> import base64
>>> s = "Hello StackOwerflow!"
>>> b = s.encode()
>>> c = base64.b64encode(b)
>>> c
b'SGVsbG8gU3RhY2tPd2VyZmxvdyE='
>>> b1 = base64.b64decode(c)
>>> b1
b'Hello StackOwerflow!'
>>> b1.decode()
'Hello StackOwerflow!'
显示你如何编码字符串
