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 import用法以及与from...import的区别
May 28 Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
python全栈知识点总结
Jul 01 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
Python 调用 ES、Solr、Phoenix的示例代码
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
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
小偷PHP+Html+缓存
2006/12/20 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
xtree.js 代码
2007/03/13 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
javascript操作数组详解
2014/12/17 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
Shell编程面试题
2016/05/29 面试题
班组长岗位职责范本
2014/01/05 职场文书
求职信需要的五点内容
2014/02/01 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
团委竞选演讲稿
2014/04/24 职场文书
分公司经理任命书
2014/06/05 职场文书