gpt4 book ai didi

python - input() 和文字 unicode 解析

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:01 24 4
gpt4 key购买 nike

使用 input() 将反斜杠作为文字反斜杠,因此我无法使用 unicode 解析字符串输入。

我的意思是:

"\uXXXX\uXXXX\uXXXX" 之类的字符串粘贴到 input() 调用中将被解释为 "\\uXXXX\\uXXXX\\uXXXX" 但我希望它读取 \u 作为单个字符而不是两个单独的字符。

有谁知道如何或是否可能实现这一目标?

编辑:我按照上面的方式获取输入并将其转换为 ascii,如下所示..

import unicodedata

def Reveal(unicodeSol):
solution = unicodedata.normalize('NFKD', unicodeSol).encode('ascii', 'ignore')
print(solution)

while(True):
UserInput = input("Paste Now: ")
Reveal(UserInput)

根据我标记的答案,正确的解决方案是:

import unicodedata
import ast

def Reveal(unicodeSol):
solution = unicodedata.normalize('NFKD', unicodeSol).encode('ascii', 'ignore')
print(solution)

while(True):
UserInput = ast.literal_eval('"{}"'.format(input("Paste Now: ")))
Reveal(UserInput)

最佳答案

如果您可以确定输入不会包含引号,则可以通过在两端添加引号将输入转换为字符串文字表示形式,然后使用 ast.literal_eval() 进行计算它变成一个字符串。示例-

import ast
inp = input("Input : ")
res = ast.literal_eval('"{}"'.format(inp))

如果输入可以包含引号,您可以在使用 ast.literal_eval 进行评估之前将双引号替换为 r'\"'

关于python - input() 和文字 unicode 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149120/

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