我从一个表示为u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'
的函数中获取一个字符串,但为了处理它我需要它为bytestring(如'\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'。
答案 0 :(得分:23)
ISO 8859-1(又名Latin-1)将前256个Unicode码点映射到它们的字节值。
>>> u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'.encode('latin-1')
'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'