全国统一服务热线

186-7589-7389

新闻中心

当前位置:首页>新闻中心

Python编码类型总共有几种

学习Python如何较快,当然是实战中的各种小项目,只有自己去想和写,才能记住规则。今日为大家准备的内容是Python的编码类型。

所谓unicode

Unicode是一个类似于符号集的抽象代码,它只规定了符号的二进制代码,而没有规定该二进制代码应该如何存储。这就是说,它只是一个内部表示,无法直接保存。因此,在存储过程中需要规定一个存储方式,例如utf-8和utf-16等。从理论上讲,unicode是一个编码方案,可以容纳世界上所有语言文本。(其它编码格式不再多说)

所谓GB码

GB是标准的意思,即中华人民共和国标准。GB代码是面向汉字的代码,包括GB2312(GB2312-80)、GBK和GB18030,表示范围从小到大增加,基本兼容。另外,经常会遇到一个叫CP936的代码,其实可以大概算是GBK。

判断编码

1.使用isinstance(s,str)来判断一个字符串是否为普通字符串(str是ascii型字符串,utf-8,utf-16,GB2312,GBK等都是ascii型字符串);

2.用isinstance(s,unicode)来判断一个字符串是否为unicode编码形式(unicode编码的字符串是unicode类型的字符串)。

使用type()或.__class__

如果码正确时:

举例来说:stra="中",使用type(stra)的结果是,表示为ascii型字符串;

举例来说:strb=u"中",使用type(strb)的结果是,表示为unicode字符串。

3.较好的方法是用chardet来判断,尤其是在web相关操作中,比如抓取html页面内容时,页面的charset标签只是标记代码,有时是错误的,页面内容中的一些中文可能超出标记代码的范围。此时,charset检测较方便准确。

(1)安装方法:下载chardet后,将解压后的chardet文件夹放入Python安装目录的Libsite-packages目录中,在程序中使用importchardet。

(2)使用方法1:检测所有内容判断代码。

detect函数返回值是一个字典,包含两个键值,一个是检测可信度,另一个是检测到的编码形式。

(3)使用方法2:检测部分内容判断代码,提高速度。


QQ咨询
在线咨询
在线报名
186-7589-7389
186-7589-7389
返回顶部