在python中向字符串追加字节
我将字节数组设置为str并希望发送它(如果我通过调试器查看它,它会显示在python中向字符串追加字节,python,string,bytebuffer,Python,String,Bytebuffer,我将字节数组设置为str并希望发送它(如果我通过调试器查看它,它会显示File.body是str)。因此,我必须创建要发送的消息 request_text += '\n'.join([ '', '--%s' % boundary_id, attachment_headers, File.body, ]) 但仅在尝试加入文件体时,我收到异常: UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in p
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)
尽管如此,在我使用它的地方,它是以这种方式实现的。我应该如何将python字符串排序为工作字节字符串?我该怎么破译它呢?但是,如果这不是文本,而是字节,那么如何处理呢。您可能会遇到错误,因为您的字符串包含非ascii字符。以下是如何对包含非ascii字符的字符串进行编码/解码的示例 1) 将字符串转换为unicode
string=“你好”
u=unicode(字符串“utf-8”)
2) 在将字符串发送到网络之前,将其编码为utf-8
encoded=u.encode('utf-8')
3) 在另一侧将其从utf-8解码为unicode
编码。解码('utf-8')
似乎是unicode。是Python2还是Python3?但调试器将body参数显示为{str}这里的附件\u头中有什么?什么类型是边界\u id
?什么类型是request\u text
?'\n.编码('latin-1')。连接([…
工作?@Will:这不会有什么区别。在Python 2中,'\n'
已经编码。您将字节字符串转换为unicode字符串(隐式解码)然后再次编码回字节字符串。您的代码与问题中的代码有何关系?名为string
的变量的赋值在哪里?建议对某个未公开的变量应用编码或解码不是很有帮助。我想,由于缺少有关变量中存储的值的相关信息,因此无法回答此问题bles.@ElmoVanKielmo,我想你是对的,但问题后面的注释还是很有帮助的。在他们之前,我看错了方向,搜索字符串+字节追加,在-我检查了所有传入字符串是否为unicode后,找到了一个,修复了,这解决了我的问题。很抱歉,我在早上匆忙发布了此内容。上述内容是为了关于如何对具有unicode字符的字符串进行编码/解码的示例,例如字符串s中的é
。我将编辑我的响应。