我如何把字节对象在一个字符串?Python


  1. 我有一个RSA加密消息(字节)
  2. 我想做一个字符串:f'!e {encrypted_message}'
  3. 然后我需要对它进行编码以便我可以通过套接字
  4. 发送它

我尝试解码我的消息,所以我可以把它放在一个字符串中,但我得到这个:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4.

我如何把我的消息(字节对象)在一个字符串?

如果您确实需要一个带有!e前缀的文本字符串(为了讨论的目的,是ASCII),那么将任何字节转换为文本的防弹方法是Base64。

令人高兴的是,base64.b64encode()返回字节,因此您可以使用字节字符串和+。

import base64
my_bytes = b'asdf'
bytes_with_prefix_for_the_socket = b'!e ' + base64.b64encode(my_bytes)

相关内容

最新更新