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的Flask框架下收发电子邮件的教程
Apr 21 Python
详解Python如何生成词云的方法
Jun 01 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
Python发展史及网络爬虫
Jun 19 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
Python 3.8 新功能全解
Jul 25 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
利用Python自动化操作AutoCAD的实现
Apr 01 Python
python 三种方法实现对Excel表格的读写
Nov 19 Python
用PYTHON去计算88键钢琴的琴键频率和音高
Apr 10 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编程效率的方法
2013/11/07 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
理解javascript异步编程
2016/01/27 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python文件和目录操作函数小结
2014/07/11 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python动态进度条的实现代码
2019/07/03 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
小学母亲节活动方案
2014/03/14 职场文书
《迟到》教学反思
2016/02/24 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python