我是一名Python新手,我正在尝试制作一个脚本,如果有差异,可以在文件中写入一些字符串。问题是原始字符串中有一些字符采用\uNNNN
Unicode格式,我无法将新字符串转换为相同的Unicode格式
我试图比较的原始字符串:\u00A1 ATENCI\u00D3N! \u25C4
接收到的新字符串为:¡ ATENCIÓN! ◄
这就是代码
str = u'¡ ATENCIÓN! ◄'
print(str)
str1 = str.encode('unicode_escape')
print (str1)
str2 = str1.decode()
print (str2)
结果是:
¡ ATENCIÓN! ◄
b'\\xa1 ATENCI\\xd3N! \\u25c4'
\xa1 ATENCI\xd3N! \u25c4
那么,如何将\xa1 ATENCI\xd3N! \u25c4
转换为\u00A1 ATENCI\u00D3N! \u25C4
,因为这是我唯一可以保存的Unicode格式
注意:字符串中的字符大小写也需要相同才能进行比较
问题是,根据the docs(在转义序列表之间向下读一点,
\u
、\U
和\N
Unicode转义序列只在字符串文本中被识别。这意味着,一旦在内存中(例如在变量赋值中)计算了文本:任何试图^{} 的操作都会自动将其转换为使用
\x
的字节对象,该对象可以:使用
将其转换回
'¡ ATENCIÓN! ◄'
。这使用字符的实际(预期)表示,而不是原始字符串s
的\uXXXX
转义序列所以,你应该做的是而不是乱编乱解码。注意:
这就是你需要做的所有比较
为了进一步阅读,您可能会对以下内容感兴趣:
相关问题 更多 >
编程相关推荐