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 列表list使用介绍
Nov 30 Python
Python os模块学习笔记
Jun 21 Python
Python协程的用法和例子详解
Sep 09 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Django实现学员管理系统
Feb 26 Python
Python创建字典的八种方式
Feb 27 Python
PyTorch实现AlexNet示例
Jan 14 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
Aug 02 Python
python中sys模块的介绍与实例
Apr 17 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
js模拟滚动条(横向竖向)
2013/02/22 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
python实现的简单窗口倒计时界面实例
2015/05/05 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python async with和async for的使用
2019/06/20 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
体育系毕业生求职自荐信
2014/04/16 职场文书
社会公德演讲稿
2014/05/20 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
停电通知范文
2015/04/16 职场文书
学校通报表扬范文
2015/05/04 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
python-for x in range的用法(注意要点、细节)
2021/05/10 Python