python中怎样将unicode转换成原来的中文?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中怎样将unicode转换成原来的中文?相关的知识,希望对你有一定的参考价值。

前端将中文编码后传到后台,后台对传来的数据进行json.dumps存入mysql数据库,取出来后用loads载入,但结果还是unicode,想问下有没有什么办法把unicode转回原来的中文

python默认就是unicode存储。如果是从文件读取的,在open的参数中指定encoding关键字参数就行。如下:

#coding=utf-8/import json /def LoadQuestion():  /f = open("test.json",'r')  qas = json.load(f)  question = qas['documents'] /return question/t = LoadQuestion() /print str(t).decode("unicode-escape")     

拓展资料:

通常python2时所有IO读写都是byte方式。也就是编码后的。java也是这样子。只有python3还有某些特定的模块才会自动将byte重新转换成unicode

在python2里的确可以使用s.decode('gbk','ignore')之类的变成unicode。不过在python3里应该是这样子, s.encode('gbk','ignore')这样就变成了byte

如果你喜欢 utf-8,可以s.encode(‘utf-8','ignore')和s.decode(‘utf-8','ignore')

参考技术A loads取出后是unicode?我怀疑你用的是python3

通常python2时所有IO读写都是byte方式。也就是编码后的。java也是这样子。只有python3还有某些特定的模块才会自动将byte重新转换成unicode

在python2里的确可以使用s.decode('gbk','ignore')之类的变成unicode。不过在python3里应该是这样子, s.encode('gbk','ignore')这样就变成了byte

如果你喜欢 utf-8,可以s.encode(‘utf-8','ignore')和s.decode(‘utf-8','ignore')

多试试就可以了。 console和文件只支持编码过的字符串。追问

用的是python2.6

追答

如果是python2系列就可以放心大胆的去使用了。loads载入?我不太记得了。我一般记得数据库是建立一个cursor然后是fetch过来的。 一条一条的。这个DBAPI会自动做些变量转换。

如果type(s)的确是unicode,直接print s.encode("gbk","ignore)

本回答被提问者和网友采纳
参考技术B 可以试试 str.encode('gbk','ignore') 或者 str.encode('gb2312','ignore')
还是不行的话,应该看看是将中文编码为什么码之后传到了后台,如果不是把中文编码为Unicode之后传到了后台,而是编码为utf-8之类的,那上面的方法肯定不行追问

传到后台前用了tornado.escape 包里的json_encode处理,后台接收到后用json_decode解码然后用json.dumps处理后就直接存到数据库的,数据库取出后用json.loads处理后还是unicode,代码文件开始声明的是codng:utf-8

参考技术C

1、python2与python3稍微有点区别

2、python2中默认的字符编码格式都是unicode,在字符串前加'u',表示unicode 编码

3、将unicode转换成中文,只需要用deconde解码就可以了

>>> u='欢迎'
>>> e=u.encode()
>>> e
b'\\xe6\\xac\\xa2\\xe8\\xbf\\x8e'
>>> e.decode()#python3中默认就是utf-8编码
'欢迎'
>>> e.decode('gbk')#如果解码为gbk就是乱码
'娆四繋'

python2编码环境比较复杂,在这里不做详细说明

参考技术D s.encode('utf8')或者s.encode('gb2312')试试~追问

不行

追答

额……s.decode('raw_unicode_escape')再试试这个……

以上是关于python中怎样将unicode转换成原来的中文?的主要内容,如果未能解决你的问题,请参考以下文章

怎样将unicode转化成中文

Python将list中的unicode转换成中文显示

SAP中如何将一个字符串转成UNICODE格式传送?

Python判断字符串中是不是有中文字符

如何将Unicode转换成汉语

第三篇.python 编码的转换