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实现获取命令行输出结果的方法
Jun 10 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
python调用摄像头显示图像的实例
Aug 03 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
用Cython加速Python到“起飞”(推荐)
Aug 01 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
python实现数字炸弹游戏
Jul 17 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
Django中session进行权限管理的使用
Jul 09 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
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
python xlsxwriter模块的使用
2020/12/24 Python
如何写一封打动人心的求职信
2014/02/17 职场文书
中学生操行评语
2014/04/24 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
个人培训总结
2015/03/05 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
离婚协议书格式范本
2016/03/18 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
详解CSS3浏览器兼容
2022/12/24 HTML / CSS