gpt4 book ai didi

Python3 : Creating a string with an unescaped backslash

转载 作者:行者123 更新时间:2023-11-30 23:29:02 26 4
gpt4 key购买 nike

在Python 3.3中,我试图从截断的unicode值重建unicode字符,然后将字符打印到控制台。

例如,我想从 '4E00' 形成字符串 '\u4E00'。我尝试过:

base = '4E00'
uni = r'\u' + base
print(uni) # getting '\u4E00', want: '一'
print(repr(uni)) # '\\u4E00'

在这种情况下有没有办法形成像“\u4E00”这样的非转义字符串?

最佳答案

请记住,\u 后跟 Unicode 字符代码只是字符串文字中的一个内容。 r'\u' + '4E00' 作为 Unicode 字符没有特殊含义,因为它不是全部在一个文字中;它只是一个六个字符的字符串。

因此,您尝试获取出现在 Python 字符串文字中的 Unicode 转义码,然后将其解码为 Unicode 字符。你可以这样做:

base = '4E00'
uni = str(bytes(r'\u' + base, encoding="ascii"), encoding="unicode_escape")

但是这是很长的路要走(特别是因为你必须首先将其转换为字节,因为它已经是Unicode)。您的 Unicode 字符规范是十六进制的。所以直接将其转换为整数,然后使用chr()将其转换为Unicode字符。

base = '4E00'
uni = chr(int(base, 16))

关于Python3 : Creating a string with an unescaped backslash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21344131/

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