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调用C/C++动态链接库的方法详解
Jul 22 Python
对python append 与浅拷贝的实例讲解
May 04 Python
Django 路由系统URLconf的使用
Oct 11 Python
python flask框架实现重定向功能示例
Jul 02 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
python设置随机种子实例讲解
Sep 12 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
pycharm配置QtDesigner的超详细方法
Jan 25 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
Feb 16 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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(视频)Http下载
2006/12/12 PHP
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
javascript Excel操作知识点
2009/04/24 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
Python中多线程及程序锁浅析
2015/01/21 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python实现井字棋游戏
2020/03/30 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
Python实现点云投影到平面显示
2020/01/18 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
学习python需要有编程基础吗
2020/06/02 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
Python基于locals返回作用域字典
2020/10/17 Python
行政助理求职自荐信
2013/10/26 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android