编码类型及python中实现转换

来源:互联网 发布:mac 连接文件服务器 编辑:程序博客网 时间:2024/05/14 17:41

常见编码类型

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

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

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

  3. utf-8
    unicode解决了编码不同的问题,但对于英文字母是只需要单字节存储的,如果使用unicode,有时会造成不必要的空间浪费。
    UTF-8编码(可变长编码)把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。

  4. 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再转为GBKs.decode('utf-8').encode('gbk') 

GBK —> utf-8

#先转码成unicode再转为utf-8s.decode('gbk').encode('utf-8') #也可以直接指定的编码格式编码字符串s.encoding = 'utf-8'
原创粉丝点击