Python中的bytes

发布时间:2019-04-09 21:42:19编辑:auto阅读(2091)

    bytes_lst = [

      ('创建bytes',),

      ('bytes可哈希',),

      ('编码与解码',),

      ('常见编码类型',),

      ('ord() 与 chr()',),

    ]

     

    创建bytes

      >>>b = bytes('hi', 'utf-8')

      >>>type(b)

      <class 'bytes'>

    bytes可哈希

      >>> hash(b'hi')

      -4078898686365756139

    编码与解码

      >>>b = 'hi'.encode('utf-8')

      >>>type(b)

      <class 'bytes'>

      >>>s = b.decode('utf-8')

      >>>type(s)

      <class 'str'>

    常见的编码类型

      (PS: Python3.6.2)

      ascii

        1个英文字符 == 1个字节 == 8位

          >>>b = 'a'.encode('ascii')

          >>>len(b)

          1

      utf-8

        1个英文字符 == 1个字节 == 8位

        1个中文字符 == 3个字节 == 24位

          >>>b = 'a'.encode(‘utf-8’)

          >>>len(b)

          1

          >>>b = '湛'.encode('utf-8')

          >>>len(b)

          3

      gbk

        1个英文字符 == 1个字节 == 8位

        1个中文字符 == 2个字节 == 16位

          >>>b = 'a'.encode('gbk')

          >>>len(b)

          1

          >>>b = '湛'.encode('gbk')

          >>>len(b)

          2

    ord() 与 chr()

      >>>import sys

      >>>sys.getdefaultencoding()

      'utf-8'

      >>>ord('a')

      97

      >>>chr(97)

      'a'

关键字