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使用PyV8执行javascript代码示例分享
Dec 04 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
Python实现约瑟夫环问题的方法
May 03 Python
python 3.5下xadmin的使用及修复源码bug
May 10 Python
100行python代码实现跳一跳辅助程序
Jan 15 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
python的常用模块之collections模块详解
Dec 06 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 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实现的生成静态HTML速度快类库
2007/03/31 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
javascript常见用法总结
2014/05/22 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
js实现无缝轮播图
2020/03/09 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
人力资源专员岗位职责
2014/01/30 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
任命通知范文
2015/04/21 职场文书
爱护环境建议书
2015/09/14 职场文书
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
Tomcat用户管理的优化配置详解
2022/03/31 Servers