Python unicode问题-如何根据引号的内容还原字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python unicode问题-如何根据引号的内容还原字符相关的知识,希望对你有一定的参考价值。

今天写个爬虫, 获取到的中间数据包含类似的unicode的编码,当时一下是觉得挺简单的,后来认真一看,情况有点不一样,正常的unicode如下

>> s = u‘中文‘
>>> s
u‘\u4e2d\u6587‘

而获取到的数据,只是引号内的内容,那么问题来了,如何把数据转换为原来的样子?

首先我们知道unicode字符串的格式是u‘\xxx‘, 那么只要能把格式转换回来就可以了。看下面的例子

>>> st = ‘\u4e2d\u6587‘
>>> """u‘%s‘""" % st
"u‘\\u4e2d\\u6587‘"
>>> un = """u‘%s‘""" % st
>>> un
"u‘\\u4e2d\\u6587‘"
>>> print eval(un)
中文

以上是关于Python unicode问题-如何根据引号的内容还原字符的主要内容,如果未能解决你的问题,请参考以下文章

Python一些重要的内建函数

字符串类型

如何在 Python 中动态指定 unicode 字符串?

hsqldb单引号字符

《Python学习手册 第五版》 -第7章 字符串基础

Python修行之字符串:连接切割大小写排版