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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
Python 爬取携程所有机票的实例代码
Jun 11 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
Dec 12 Python
Python设计模式之外观模式实例详解
Jan 17 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
通过自学python能找到工作吗
Jun 21 Python
Python自动化之UnitTest框架实战记录
Sep 08 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.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
Python urllib3软件包的使用说明
2020/11/18 Python
Python 多进程、多线程效率对比
2020/11/19 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
企业申诉管理制度
2014/01/30 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
绿色城市实施方案
2014/03/19 职场文书
教师自我剖析材料
2014/09/29 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
小学总务工作总结
2015/08/13 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript