1.字符编码
**【**所谓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类型的字符串);
使用isinstance(s, unicode)来判断一个字符串是否为unicode编码形式的字符串(unicode编码的字符串才是unicode类型的字符串)。
2、使用type()或者.class
在编码正确的情况下:
例如:stra = “中”, 则使用type(stra)的结果是<type ‘str’>,表明为ascii类型字符串;
例如:strb = u"中", 则使用type(strb)的结果是<type ‘unicode’>,表明为unicode类型字符串。
3、最好的办法是使用chardet判断,特别是在web相关的操作中,例如抓取html页面内容时,页面的charset标签只是标示编码,有时候不对,而且页面内容中一些中文可能超出了标示编码的范围,此时用charset检测最为方便准确。
(1)安装办法:下载chardet后,将解压得到的char

本文介绍了Python中的字符编码,包括Unicode、GB码的概念,如何判断字符串的编码类型,以及编码转换的方法。同时讲解了Python命令行编码和代码中的编码处理,强调了Unicode在Python解释器中的重要角色。
最低0.47元/天 解锁文章
2206

被折叠的 条评论
为什么被折叠?



