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中的循环语句的用法
Apr 09 Python
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
详解python中递归函数
Apr 16 Python
django使用admin站点上传图片的实例
Jul 28 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
Django 5种类型Session使用方法解析
Apr 29 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 Python
matplotlib阶梯图的实现(step())
Mar 02 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
js继承的实现代码
2010/08/05 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Python验证企业工商注册码
2015/10/25 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
先进党支部事迹材料
2014/01/13 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
应届生求职信范文
2014/06/30 职场文书
销售人员工作自我评价
2014/09/21 职场文书
大学生支教感言
2015/08/01 职场文书
2016年党建工作简报
2015/11/26 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP