2024-05-16 01:49:35 发布
网友
我正在使用Python中的HTML字符串,其中包含非英语字符,该字符串由16位unicode十六进制值表示。字符串显示:
"Skr\u00E4ddarev\u00E4gen"
正确转换后的字符串应为“Skräddarevägen”。如何确保unicode十六进制值在输出时得到正确的编码/解码,并以正确的重音进行读取?在
(注意,我使用的是Requests和Pandas,两者的编码都设置为utf-8) 提前谢谢!在
从您的显示中,很难确定字符串中是什么。假设是显示的24个字符,我相信下面的最后一行回答了您的问题。在
s = "Skr\\u00E4ddarev\\u00E4gen" print(len(s)) for c in s: print(c, end=' ') print() print(eval("'"+s+"'")) print(eval("'"+s+"'").encode('utf-8'))
这个指纹
在Python 3中,可能会发生以下情况:
将字符串写入一个文件,您必须在打开的文件中指定所需的编码。在
如果您使用的是python3,而这正是字符串的内容,那么它“只起作用”:
>>> s = "Skr\u00E4ddarev\u00E4gen" >>> s 'Skräddarevägen'
如果你把这个字符串作为原始数据,你必须对它进行解码。如果是Unicode字符串,则必须先将其编码为字节。最终结果将是Unicode。如果已经编码了一个字节,则跳过一步。在
如果你需要正确解码的话,你会看到:
>>> s = "Skr\u00E4ddarev\u00E4gen" >>> s 'Skr\\u00E4ddarev\\u00E4gen' >>> s.decode('unicode_escape') u'Skr\xe4ddarev\xe4gen' >>> print s.decode('unicode_escape') Skräddarevägen
从您的显示中,很难确定字符串中是什么。假设是显示的24个字符,我相信下面的最后一行回答了您的问题。在
这个指纹
^{pr2}$在Python 3中,可能会发生以下情况:
将字符串写入一个文件,您必须在打开的文件中指定所需的编码。在
如果您使用的是python3,而这正是字符串的内容,那么它“只起作用”:
如果你把这个字符串作为原始数据,你必须对它进行解码。如果是Unicode字符串,则必须先将其编码为字节。最终结果将是Unicode。如果已经编码了一个字节,则跳过一步。在
^{pr2}$如果你需要正确解码的话,你会看到:
相关问题 更多 >
编程相关推荐