品易云推流 关闭
文章详情页
文章 > Python基础教程 > Python之字符编码相关介绍

Python之字符编码相关介绍

头像

爱喝马黛茶的安东尼

2019-07-06 10:35:522784浏览 · 0收藏 · 0评论

Python 字符编码简记

1562380028112712.png

可以简单的理解为:

1.为了处理英文字符,产生了ASCII码。

2.为了处理中文字符,产生了GB2312。

3.为了处理各国字符,产生了Unicode。

4.为了提高Unicode存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式。

注意:

Python2.x 默认编码是 ASCII

Python3.x 默认编码是 unicode,所以 Python3.x 直接支持中文不需要进行二次处理。

相关推荐:《Python视频教程

GBK转换成 UTF-8 的流程:

1.通过解码 (decode) 转换成 Unicode

2.通过编码 (encode) 转成成 GBK

q.png

乱码是因为系统编码与所提供字符的编码不一致所导致的。所以当我们需要操作系统正确的输出一个字符时,除了要知道该字符的字符编码,也要知道自己系统所使用的字符编码。

Linux 系统大部分使用的是 UTF-8 编码,Windoors 系统使用的编码是 GB2312。

可以通过 chardet 来判断字符的编码

安装步骤:

1. 下载 chardet-3.0.4.tar.gz 
地址:https://pypi.python.org/pypi/chardet/3.0.4#downloads
2. 解压至安装目录
我的电脑为 D:\software\Python2.7\Lib\site-packages\chardet-3.0.4
3. 打开 Windows 命令行窗口进行安装

进入源码目录

w.png

使用 python setup.py install 安装

e.png

测试

# -*- encoding:utf-8 -*-
import chardet
name = '你好'
print(chardet.detect(name))

运行结果:

r.png

在py2中

#-*- coding: UTF-8 -*-

声明这句话就是告诉 python2.7 解释器 (默认ACSII编码方式)解释的 .py 文件声明下面的内容按 utf8 编码,就是编码(编码成字节串最后转成0101的形式让机器去执行) 

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图