我将字节数组作为str并希望发送它(如果我通过调试器查看它,它会告诉我File.body
是str
)。出于这个原因,我必须创建要发送的消息。
request_text += '\n'.join([
'',
'--%s' % boundary_id,
attachment_headers,
File.body,
])
但是只有它尝试加入文件正文时,我才会收到异常:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
尽管如此,在example中我采用了它,它是以这种方式实现的。我应该如何命令python字符串来处理字节字符串?我应该以某种方式解码吗?但是,如果这不是文本,只是字节。
答案 0 :(得分:0)
您可能会收到错误,因为您的字符串包含非ascii字符。以下是如何编码/解码包含非ascii字符的字符串
的示例1)将字符串转换为unicode
string="helloé"
u=unicode(string, 'utf-8')
2)在将字符串发送到网络之前将其编码为utf-8
encoded = u.encode('utf-8')
3)将其从utf-8解码为另一端的unicode
encoded.decode('utf-8')