我从一个函数中得到了一个字符串,它的表示形式是u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
,但为了处理它,我需要将它转换为字节串(像'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
)。
如何在不改变字符串的情况下进行转换?
到目前为止,我最好的猜测是使用 s.encode('unicode_escape')
,这将返回'\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'
,然后对每5个字符进行处理,使'\xd0'变成用'\xd0'表示的一个字符。
bytes(map(ord, x))
,但它可能会慢得多... - JBernardostr(bytearray(...))
代替bytes
。甚至更糟的是:''.join(map(chr, ...))
。 - JBernardo