python---字符编码和转码

字符编码:由于计算机是按01二进制方式存储,所以要对非01的各类字符进行编码,最早的字符编码方式是美国提出的ASCII,但只是对它自己国的字符(大小写字母,阿拉伯数字,一些常用字符总共127个)进行了编码,不方便其他国家使用。接下来中国在1980年制定了gb2312编码,其中包括七千多个汉字,可是远远不能满足人们的需求。因此在1995年,中国又制定了GBK1.0编码,编码了2w左右的汉字。2000年,再次升级制定GB18030编码,中间有2w7q左右的汉字。但是,若其他国家使用这些编码方式,又会出现乱码的问题。因此,有了unicode编码,它是基于所有国家的语言,成功解决了乱码问题。但是由于Unicode编码一个字符占两个字节,而ASCII码一个字符占一个字节,Unicode编码占内存太大,又出现了utf-8可变长编码,其中除中文占3个字节外,其他都按ASCII码编码,每个字符都占一个字节。

字符编码与转码:一句话概括:不同编码间的转换要先转成Unicode.

不同编码经过解码(decode)变为Unicode,Unicode又编码((encode)为各类编码方式。

就如同字符串(string)与字节类型(bytes)的关系,string经过encode为bytes,bytes经过decode为string.(可以把Unicode看为字符串)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值