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检测服务器是否正常
Feb 16 Python
Python显示进度条的方法
Sep 20 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 Python
Python进程间通信之共享内存详解
Oct 30 Python
Python的条件锁与事件共享详解
Sep 12 Python
Python实现语音识别和语音合成功能
Sep 20 Python
python对象转字典的两种实现方式示例
Nov 07 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
Keras自定义IOU方式
Jun 10 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 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导入模块文件分享
2015/03/17 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
js 获取radio按钮值的实例
2013/08/17 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Python3实现的字典遍历操作详解
2018/04/18 Python
详解python3中tkinter知识点
2018/06/21 Python
python实现批量注册网站用户的示例
2019/02/22 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
python 实现矩阵按对角线打印
2019/11/29 Python
python之随机数函数的实现示例
2020/12/30 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
.net C#面试题
2012/08/28 面试题
更夫岗位责任制
2014/02/11 职场文书
丧事主持词大全
2014/04/02 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
田径运动会通讯稿
2014/09/13 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
主持人开幕词
2015/01/29 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers