Python day7: 字符编码*

字符编码

二进制

--->ASCII :只能存英文和拉丁字符。一个字符占一个字节,8位

------>gb2312 :只有6700多个中文, 1980

--------->gbk1.0 :存了两万多个字符, 1995

------------>gb18030 :2000, 27000中文

------------>unicode :utf-32:一个字符占4个字符

--------->unicode :utf-16:一个字符占2个字符以上,最多65535最多

--------->unicode :utf-8:一个英文用ASCII存,一个中文占三个字节

python 2 里面

默认ASCII码,所以没有申明使用别的解码方法,例如

# -*- coding: utf-8 -*-

则识别不出来中文,因为ASCII只有拉丁字符

这个时候就需要转码了,通过转成unicode

即:

ASCII——encode(编码)——》unicode——decode(解码)——》GBK

python 3 里面

默认是utf-8

a='''
好好味
'''
a1=a.encode('utf-8')

print(a1)

输出结果为

b'\n\xe5\xa5\xbd\xe5\xa5\xbd\xe5\x91\xb3\n'

开头的b代表byte,即一种字节类型

encode在编码的同时,会把数据转成bytes类型

像中文这种ascii码里面没有的特殊字符,转码的时候是用多个ascii码内字符表示的,而英文就没有这一情况,因为英文本身就在ascii码中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值