在 Python 3 中,假设我有
>>> thai_string = 'สีเ'
使用encode
给
>>> thai_string.encode('utf-8')
b'\xe0\xb8\xaa\xe0\xb8\xb5'
我的问题:我怎样才能使用而不是encode()
返回一个bytes
序列?我怎样才能让他们回到 Python 3类型?\u
\x
decode
str
我尝试使用ascii
内置的,它给出了
>>> ascii(thai_string)
"'\\u0e2a\\u0e35'"
但这似乎不太正确,因为我无法将其解码回thai_string
.
Python 文档告诉我
\xhh
使用十六进制值转义字符hh
而\uxxxx
使用 16 位十六进制值转义字符xxxx
文档说这\u
仅用于字符串文字,但我不确定这意味着什么。这是暗示我的问题有一个有缺陷的前提吗?