gpt4 book ai didi

python-3.x - 在 Python 3 中将双反斜杠转换为单反斜杠

转载 作者:行者123 更新时间:2023-12-04 01:49:21 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

>>> t
'\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u20ac\\u0020\\u00b0'

我使用一个函数将 unicode 转换为有代表性的 Python 转义序列。然后,当我想将其转换回来时,我无法摆脱双反斜杠,以便再次将其解释为 unicode。如何才能做到这一点?
>>> t = unicode_encode("
>>> t
'\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u20ac\\u0020\\u00b0'
>>> print(t)
\u0048\u0065\u006c\u006c\u006f\u0020\u20ac\u0020\u00b0
>>> t.replace('\\','X')
'Xu0048Xu0065Xu006cXu006cXu006fXu0020Xu20acXu0020Xu00b0'
>>> t.replace('\\', '\\')
'\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u20ac\\u0020\\u00b0'

当然,我也不能这样做:
>>> t.replace('\\', '\')
File "<ipython-input-155-b46c447d6c3d>", line 1
t.replace('\\', '\')
^
SyntaxError: EOL while scanning string literal

最佳答案

不确定这是否适合您的情况,但您可以尝试使用 unicode_escape :

>>> t
'\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u20ac\\u0020\\u00b0'
>>> type(t)
<class 'str'>
>>> enc_t = t.encode('utf_8')
>>> enc_t
b'\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u20ac\\u0020\\u00b0'
>>> type(enc_t)
<class 'bytes'>
>>> dec_t = enc_t.decode('unicode_escape')
>>> type(dec_t)
<class 'str'>
>>> dec_t
'Hello € °'

或缩写形式:
>>> t.encode('utf_8').decode('unicode_escape')
'Hello € °'

您获取字符串并使用 UTF-8 对其进行编码。 ,然后使用 unicode_escape 对其进行解码.

关于python-3.x - 在 Python 3 中将双反斜杠转换为单反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14453152/

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