zoukankan      html  css  js  c++  java
  • day6 编码

    day6 编码(1~5知识小结)
    ''
    python2 python3

    '''
    #python2
    #print() print 'abc'
    #range() xrange() 生成器
    # raw_input()

    #python3
    #print('abc')
    #range()
    # input()

    # = 赋值 == 比较值是否相等 is 比较,比较的是内存地址 id(内容)
    # li1 = [1,2,3]
    # li2 = li1
    # li3 = li2
    # print(id(li1),id(li2))

    #数字,字符串 小数据池
    #数字的范围 -5 -- 256
    #字符串:1,不能有特殊字符
    # 2,s*20 还是同一个地址,s*21以后都是两个地址
    # i1 = 6
    # i2 = 6
    # print(id(i1),id(i2))
    # i1 = 300
    # i2 = 300
    # print(id(i1),id(i2))


    #剩下的 list dict tuple set
    # l1 = [1,]
    # l2 = [1,]
    # print(l1 is l2)

    # s = 'alex'
    # s1 = b'alex'
    # print(s,type(s))
    # print(s1,type(s1))

    # s = '中国'
    # print(s,type(s))
    # s1 = b'中国'
    # print(s1,type(s1))

    s1 = 'alex'
    # encode 编码,如何将str --> bytes, ()
    s11 = s1.encode('utf-8')
    s11 = s1.encode('gbk')
    print(s11)
    s2 = '中国'
    s22 = s2.encode('utf-8')
    s22 = s2.encode('gbk')
    print(s22)

    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'xe91e91e01e21e31e32'
    编码方式: 000101010 utf-8 gbk。。。。

    s1 = 'alex'
    s11=s1.encode("utf-8")#str---->bytes
    print(s11)
    s2 = "中国"
    s22 = s2.encode("utf-8")
    print(s22)
    s23 = s2.encode("gbk")
    print(s23)
    运行结果如下:

    b'alex'
    b'xe4xb8xadxe5x9bxbd'
    b'xd6xd0xb9xfa'

  • 相关阅读:
    C语言|博客作业08
    C语言|博客作业04
    C语言|博客作业02
    C语言|博客作业06
    C语言|博客作业03
    第一周作业
    C语言|博客作业05
    C语言|博客作业07
    C语言|博客作业09
    为什么get比post更快
  • 原文地址:https://www.cnblogs.com/Murraya/p/10479982.html
Copyright © 2011-2022 走看看