python编码(六)
1. 字符编码简介 1.1. ASCII ASCII (American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求。后来每个语言就制定了一套自己的编码,由于单字节能表示的字符太少,而且同时也需要与ASCII编码保持兼容,所以这些编码纷纷使用了多字节来表示字符,如 GBxxx 、 BIGxxx 等等,他们的规则是,如果第一个字节是\x80以下,则仍然表示ASCII字符;而如果是\x80以上,则跟下一个字节一起(共两个字节)表示一个字符,然后跳过下一个字节,继续往下判断。 这里,IBM发明了一个叫Code Page的概念,将这些编码都收入囊中并分配页码,GBK是第936页,也就是 CP936 。所以,也可以使用CP936表示GBK。 MBCS (Multi-Byte Character Set)是这些编码的统称。目前为止大家都是用了双字节,所以有时候也叫做 DBCS (Double-Byte Character Set)。必须明确的是