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实现斐波那契递归函数的方法
Sep 08 Python
python元组操作实例解析
Sep 23 Python
python将MongoDB里的ObjectId转换为时间戳的方法
Mar 13 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
Django组件cookie与session的具体使用
Jun 05 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 Python
python 中的jieba分词库
Nov 23 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&mysql 日期操作小记
2012/02/27 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP中的表达式简述
2016/05/29 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
tensorflow 环境变量设置方式
2020/02/06 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
python与js主要区别点总结
2020/09/13 Python
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
团购业务员岗位职责
2014/03/15 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
就业协议书范本
2014/10/08 职场文书
2014年英语工作总结
2014/12/20 职场文书
战马观后感
2015/06/08 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang
python获取带有返回值的多线程
2022/05/02 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android