python-基础day6

博客介绍了ASCII、Unicode、UTF - 8、GBK等编码的二进制表示及字节数,指出各编码二进制不能互相识别,文件存储和传输不能用Unicode。还说明了Python3中str和bytes类型在英文和中文上的表现形式与编码方式。

ascii
A : 00000010 8位 一个字节

unicode A : 00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000110 32位 四个字节


utf-8 A : 00100000 8位 一个字节
中 : 00000001 00000010 00000110 24位 三个字节


gbk A : 00000110 8位 一个字节
中 : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

py3:
str 在内存中是用unicode编码。
bytes类型
对于英文:
str :表现形式:s = 'alex'
编码方式: 010101010 unicode
bytes :表现形式:s = b'alex'
编码方式: 000101010 utf-8 gbk。。。。

对于中文:
str :表现形式:s = '中国'
编码方式: 010101010 unicode
bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32'
编码方式: 000101010 utf-8 gbk。。。。

li=[11,22,33,44,55,66,77,88,99,90]
dic={}
high_number=[]
less_number=[]
for i in li:
    if i==66:continue
    if i>66:
        high_number.append(i)
    else:
        less_number.append(i)
dic.setdefault('k1',high_number)
dic.setdefault('k2',less_number)
print(dic)
#购物车
li=['手机','电脑','鼠标垫','游艇']
flag=True
while flag:
    for i in li:
        print('{}\t{}'.format(li.index(i)+1,i))
    num_of_choice=input("请输入商品序号或者按Q/q退出:")
    if num_of_choice.isdigit():
        num_of_choice=int(num_of_choice)
        if 0<num_of_choice<=len(li):
            print(li[num_of_choice-1])
        else:
            print("请输入有效数字")
    elif num_of_choice.upper()=='Q':
        flag=False
    else:
        print("请输入数字")

 

转载于:https://www.cnblogs.com/orange126/p/10827968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值