gpt4 book ai didi

python - 如何使用\u 转义码对 Python 3 字符串进行编码?

转载 作者:太空狗 更新时间:2023-10-30 01:00:47 25 4
gpt4 key购买 nike

在 Python 3 中,假设我有

>>> thai_string = 'สีเ'

使用编码给出

>>> thai_string.encode('utf-8')
b'\xe0\xb8\xaa\xe0\xb8\xb5'

我的问题:如何使用 \u 而不是 \x< 让 encode() 返回一个 bytes 序列?以及如何将它们解码 回 Python 3 str 类型?

我尝试使用 ascii 内置函数,它给出了

>>> ascii(thai_string)
"'\\u0e2a\\u0e35'"

但这似乎不太正确,因为我无法将其解码回来以获得 thai_string

Python documentation告诉我

  • \xhh 转义十六进制值 hh 的字符,而
  • \uxxxx 转义16位十六进制值xxxx
  • 的字符

文档说 \u 仅用于字符串文字,但我不确定那是什么意思。这是否暗示我的问题有一个有缺陷的前提?

最佳答案

你可以使用unicode_escape:

>>> thai_string.encode('unicode_escape')
b'\\u0e2a\\u0e35\\u0e40'

注意encode()总是会返回一个字节串(bytes)和unicode_escape编码is intended to :

Produce a string that is suitable as Unicode literal in Python source code

关于python - 如何使用\u 转义码对 Python 3 字符串进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com