我正在从包含嵌入式unicode转义序列的文件中读取字符串,
\u00e9
作为示例。
当我使用print()
打印文字字符串时,编码通过打印转换为正确的字符,但是如果我从stdin获取字符串并打印出来,print不会将转义序列转换为unicode字符
例如,当我使用:
print ("Le Condamn\u00e9 \u00e0 mort")
python正确地打印Le Condamné à mort
但是,如果我从stdin得到相同的字符串,我得到:Le Condamn\u00e9 \u00e0 mort
有人知道如何让python将转义序列转换为正确的unicode字符吗?另外,当您为print
指定字符串文字而不是字符串变量时,为什么它的行为会有所不同
我相信您正在寻找str.encode(“字符串转义”)函数
示例代码
输出
the image contains the code snippet with output
\u00e0
被存储为python的Unicode数字,以便将其打印为“a”。当您从另一个文件获取它时,它完全是字符串形式的,这意味着它随后存储为'\\u00e0'
,其中每个字符都是字符串。 解决这个问题的方法是确定'\\u00e0'
在列表中的位置,然后用'\u00e0'
替换它下面是一些代码,可以将字符串中的
'\\u00e0'
转换为它应该是的字符相关问题 更多 >
编程相关推荐