在python中将字节附加到字符串

时间:2014-06-30 08:44:43

标签: python string bytebuffer

我将字节数组作为str并希望发送它(如果我通过调试器查看它,它会告诉我File.bodystr)。出于这个原因,我必须创建要发送的消息。

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字符串来处理字节字符串?我应该以某种方式解码吗?但是,如果这不是文本,只是字节。

1 个答案:

答案 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')