Python中文编码那些事


Posted in Python onJune 25, 2014

首先,要明白encode()和decode()的区别

 encode()的作用是将Unicode编码的字符串转换为其他编码格式。

例如: st1.encode("utf-8")  这句话的作用是将Unicode编码的st1编码为utf-8编码的字符串

decode()的作用是把其他编码格式的字符串转换成Unicode编码的字符串。

例如: st2.decode("utf-8") 这句话的作用是将utf-8编码的字符串st2解码为Unicode编码的字符串

第二,除Unicode编码的字符串以外,任何一种编码的字符串要想转换为其他编码格式,必须先解码后编码

非Unicode编码--> Unicode编码-->非Unicode编码

例如,utf-8编码的字符串st想要转换为gbk编码的字符串,必须经过以下步骤:

st=st.decode("utf-8") #解码为Unicode编码

st=st.encode("gbk")  #从Unicode编码编码为gbk编码

第三,我们经常使用的utf-8编码还分为有BOM的和无BOM的。

第四:关于json文件的中文编码。用Python读取Json文件时经常用到json.load()函数,该函数对json文件的格式是有要求的

1)json文件是utf-8 without BOM编码的,那么可以直接用json.load(filename)函数读取json文件的内容

2)json文件是utf-8 with BOM编码的,不能用json.load()函数读取,json.load()不能正确识别

3)json文件时其他编码的,比如gbk, 要把json文件的编码格式作为一个参数传给json.load():

eg. json.load(filename,"gbk")

第五,怎么查看并且设置自己文件的编码呢?

介绍一个个人比较喜欢的工具"Nodtepad++",随便一个软件管家里就与一键安装。

用这个工具你可以方便的查看自己的文件的当前编码,并可以轻松转换成任意其他编码格式

Python 相关文章推荐
python监控网站运行异常并发送邮件的方法
Mar 13 Python
在Python中使用成员运算符的示例
May 13 Python
Python Property属性的2种用法
Jun 21 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python之web模板应用
Dec 26 Python
python通过http下载文件的方法详解
Jul 26 Python
Django框架反向解析操作详解
Nov 28 Python
Django 自定义权限管理系统详解(通过中间件认证)
Mar 11 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
简单的命令查看安装的python版本号
Aug 28 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
教你如何在Django 1.6中正确使用 Signal
Jun 22 #Python
python抓取网页时字符集转换问题处理方案分享
Jun 19 #Python
python在linux中输出带颜色的文字的方法
Jun 19 #Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 #Python
win7 下搭建sublime的python开发环境的配置方法
Jun 18 #Python
Python写的贪吃蛇游戏例子
Jun 16 #Python
Python中的yield浅析
Jun 16 #Python
You might like
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php使用session二维数组实例
2014/11/06 PHP
PHP输出日历表代码实例
2015/03/27 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
构建Python包的五个简单准则简介
2015/06/15 Python
django之常用命令详解
2016/06/30 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
中学生差生评语
2014/01/30 职场文书
岗位职责的构建方法
2014/02/01 职场文书
户外亲子活动总结
2015/05/08 职场文书
高中团支书竞选稿
2015/11/21 职场文书
你真的会用Mysql的explain吗
2022/03/31 MySQL