在Python中将字节追加到字符串

0 投票
1 回答
1144 浏览
提问于 2025-04-18 11:33

我有一个字节数组,形式是字符串,我想把它发送出去(如果我通过调试工具查看,会发现 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)

不过,在我参考的这个例子中,它是这样实现的。我应该如何处理Python字符串,使其能正常工作为字节字符串?我需要以某种方式解码它吗?但是如果它不是文本,而只是字节,那该怎么做呢。

1 个回答

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

撰写回答