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读写文件操作示例程序
Dec 02 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
Python画图学习入门教程
Jul 01 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
django_orm查询性能优化方法
Aug 20 Python
python中自带的三个装饰器的实现
Nov 08 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
python中xlutils库用法浅析
Dec 29 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
python文件名批量重命名脚本实例代码
Apr 22 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Django实现分页显示效果
2019/10/31 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
机关节能减排实施方案
2014/03/17 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
关于的python五子棋的算法
2022/05/02 Python