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 相关文章推荐
python中json格式数据输出的简单实现方法
Oct 31 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
selenium+python设置爬虫代理IP的方法
Nov 29 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
Django  ORM 练习题及答案
Jul 19 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
使用npy转image图像并保存的实例
Jul 01 Python
python获取linux系统信息的三种方法
Oct 14 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
python多线程爬取西刺代理的示例代码
Jan 30 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
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
Python实现CET查分的方法
2015/03/10 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
flask中过滤器的使用详解
2018/08/01 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
木工主管岗位职责
2013/12/08 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
工作个人的自我评价
2014/01/14 职场文书
网吧消防安全责任书
2014/07/29 职场文书
政风行风评议整改方案
2014/09/15 职场文书
四风查摆剖析材料
2014/10/10 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang