您的位置:首页 > 编程语言 > Python开发

编码类型及python中实现转换

2017-11-23 10:57 453 查看

常见编码类型

常见的编码类型为ASCII码,unicode,UTF-8,GB码等。

ASCII码

ASCII码为最早编入计算机的128个字母数字和符号,为单字节(8bit为1字节)。

unicode

为了统一编码,解决各国编码语言不同的问题,unicode诞生。常为两字节。

utf-8

unicode解决了编码不同的问题,但对于英文字母是只需要单字节存储的,如果使用unicode,有时会造成不必要的空间浪费。

UTF-8编码(可变长编码)把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。

GB码

GB就是“国标”的意思,即:中华人民共和国国家标准。GB码是面向汉字的编码,包括GB2312(GB2312-80),GBK,GB18030,表示范围从小到大递增,而且基本是向下兼容的。此外经常遇到一种叫做CP936的编码,实际上可以大概看做是GBK。

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

python中可通过如下方式查看编码类型

import chardet
s = '一段测试的汉字呀'
print chardet.detect(s)


编码转换

utf-8 —> GBK

#先转码成unicode再转为GBK
s.decode('utf-8').encode('gbk')


GBK —> utf-8

#先转码成unicode再转为utf-8
s.decode('gbk').encode('utf-8')

#也可以直接指定的编码格式编码字符串
s.encoding = 'utf-8'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python
相关文章推荐