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中list循环语句用法实例
Nov 10 Python
python私有属性和方法实例分析
Jan 15 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python opencv之SURF算法示例
Feb 24 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
Django模板语言 Tags使用详解
Sep 09 Python
tensorflow 限制显存大小的实现
Feb 03 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
python 递归相关知识总结
Mar 03 Python
Python 一键获取电脑浏览器的账号密码
May 11 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中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
python def 定义函数,调用函数方式
2020/06/02 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
const和static readonly区别
2013/05/20 面试题
函授大学生自我鉴定
2014/02/05 职场文书
暑期社会实践感言
2014/02/25 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书