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查找函数f(x)=0根的解决方法
May 07 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
python监控文件或目录变化
Jun 07 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
对python 命令的-u参数详解
Dec 03 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
Python输出指定字符串的方法
Feb 06 Python
python Zmail模块简介与使用示例
Dec 19 Python
举例讲解Python装饰器
Dec 24 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 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操作路径的经典方法(必看篇)
2016/10/04 PHP
php创建图像具体步骤
2017/03/13 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python调用fortran模块
2016/04/08 Python
tensorflow识别自己手写数字
2018/03/14 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
行政主管岗位职责
2013/11/18 职场文书
马云的职业生涯规划之路
2014/01/01 职场文书
文明村创建实施方案
2014/03/27 职场文书
陕西导游词
2015/02/04 职场文书
运动与健康自我评价
2015/03/09 职场文书