gpt4 book ai didi

python - 如何将python Unicode字符串转换为字节

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:51 25 4
gpt4 key购买 nike

我有一个字符串x如下

x = "\xe9\x94\x99\xe8\xaf\xaf"

这个字符串应该是Unicode字符串,但是不能正确显示(打印)

而字符串y是以b开头的Unicode字符串/字节,而y可以通过y.decode正确显示('utf-8')

y = b"\xe9\x94\x99\xe8\xaf\xaf"

我的问题是如何将 x 转换为 y?

最佳答案

假设我们谈论的是 Python3,Unicode 字符串 x 的长度为 6 个代码点。碰巧这些代码点中的每一个都在 0x000xff 的范围内(ASCII 子集)。我们可以用 raw_unicode_escape 得到准确的字节串编解码器,像这样:

>>> x = "\xe9\x94\x99\xe8\xaf\xaf"
>>> y = x.encode('raw_unicode_escape')
>>> y
b'\xe9\x94\x99\xe8\xaf\xaf'
>>> y.decode('utf8')
'错误'

请注意,这仅在字符串 x 仅包含 Unicode 的 ASCII 子范围时有效;否则你只会得到转义的 Unicode 代码点(正如编解码器的名称所示):

>>> "šž".encode('raw_unicode_escape')
b'\\u0161\\u017e'

关于python - 如何将python Unicode字符串转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45074655/

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