Python3的unicode编码转换成中文的问题及解决方案


Posted in Python onDecember 10, 2019

这篇文章主要介绍了Python3的unicode编码转换成中文的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

从别的地方搬过来的,担心以后不容易搜索到,就收集过来。

我当时面临的问题是要从C++发json代码出来,用python写了个server,然后返回给C++程序,结果收到的是:

httpSvrDataCbUser: {"tranNO": "0808ad498670dc996", "data": "\u65b0A1EY16", "ver": "1.0", "sendTime": "2019-12-10 00:23:51", "tranType": "2001"}

我发过去的是utf-8编码,中间有中文,"新A1EY16",结果发回来的却是:"\u65b0A1EY16"

9102年,大部分人已经受尽了python2里面unicode的折磨,转向了python3。

python3似乎对一切的unicode都那么的友好,当一个字符串里存在unicode的时候,只要字符串是硬编码的,就可以转换成中文打印在控制台上,如:

s = ‘\u7b14\u8bb0'
print(s)

你得到的就是中文汉字。

但是,假如你。。的这段含有‘\u'的unicode编码不是硬编码进脚本的,而是通过requests在网上爬的。。。那么你会发现,你打印出来的,还是长这样的unicode编码,换句话说,解释器这个时候根本就没认出这东西原来是unicode编码,当成普通的字符序列了。

百度找到了最好的解决方法:在这个unicode串后面加上:

s = s.decode().encode(‘unicode_escape')
print(s)

它就打印出汉字了

python3中没有这种问题,所以最简单的方法是引入__future__模块,把新版本的特性导入到当前版本

from __future__ import unicode_literals
print json.dumps(m,ensure_ascii=False)
=>{"a": "你好"}

在写入文件的时候出现了Python2.7的UnicodeEncodeError: ‘ascii' codec can't encode异常错误

大神的解决方法:

不使用open打开文件,而使用codecs:

from __future__ import unicode_literals
import codecs
fp = codecs.open('output.txt', 'a+', 'utf-8')
fp.write(json.dumps(m,ensure_ascii=False))
fp.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
Python操作MySQL数据库的方法
Jun 20 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
pytorch程序异常后删除占用的显存操作
Jan 13 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
Python内置函数property()如何使用
Sep 01 Python
pytorch实现ResNet结构的实例代码
May 17 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 #Python
python3 webp转gif格式的实现示例
Dec 10 #Python
Spring Cloud Feign高级应用实例详解
Dec 10 #Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 #Python
使用opencv将视频帧转成图片输出
Dec 10 #Python
django框架cookie和session用法实例详解
Dec 10 #Python
python selenium实现发送带附件的邮件代码实例
Dec 10 #Python
You might like
PHP clearstatcache()函数详解
2010/03/02 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
php实现水仙花数的4个示例分享
2014/04/08 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python面向对象实现方法总结
2020/08/12 Python
如何一键升级Python所有包
2020/11/05 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
产品开发计划书
2014/04/27 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js