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创建线程示例
May 06 Python
python类装饰器用法实例
Jun 04 Python
python处理html转义字符的方法详解
Jul 01 Python
用python实现简单EXCEL数据统计的实例
Jan 24 Python
浅谈django model postgres的json字段编码问题
Jan 05 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
pycharm执行python时,填写参数的方法
Oct 29 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
python绘制高斯曲线
Feb 19 Python
python numpy中setdiff1d的用法说明
Apr 22 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 文件上传源码分析(RFC1867)
2009/10/30 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
鼠标事件延时切换插件
2011/03/12 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
深入探讨前端框架react
2015/12/09 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
js实现日历与定时器
2017/02/22 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
Python字符串详细介绍
2015/05/09 Python
打包发布Python模块的方法详解
2016/09/18 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
python提取log文件内容并画出图表
2019/07/08 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
翻译专业应届生求职信
2013/11/23 职场文书
超市员工辞职信范文
2015/05/12 职场文书
预备党员表决心的话
2015/09/22 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS