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学习笔记(二)基础语法
Jun 06 Python
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python简单实现旋转图片的方法
May 30 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
python的常用模块之collections模块详解
Dec 06 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
Python如何重新加载模块
Jul 29 Python
教你怎么用Python操作MySql数据库
May 31 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
详解python的异常捕获
Mar 03 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的宝库目录--PEAR
2006/10/09 PHP
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
php获得当前的脚本网址
2007/12/10 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
离婚起诉书范本
2015/05/18 职场文书
python中redis包操作数据库的教程
2022/04/19 Python
图神经网络GNN算法
2022/05/11 Python