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内置函数bin() oct()等实现进制转换
Dec 30 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
Python简单实现Base64编码和解码的方法
Apr 29 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
python爬虫selenium模块详解
Mar 30 Python
浅谈Python数学建模之数据导入
Jun 23 Python
Python编写nmap扫描工具
Jul 21 Python
Python requests用法和django后台处理详解
Mar 19 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
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
JS 统计时间
2021/03/09 Javascript
JavaScript基本对象
2007/01/11 Javascript
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
Python编程中对文件和存储器的读写示例
2016/01/25 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
工程班组长岗位职责
2013/12/30 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
党支部特色活动方案
2014/08/20 职场文书
校长一岗双责责任书
2015/05/09 职场文书