Python中的bytes

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'

posted @ 2018-11-22 11:41  风掠丶幽兰  阅读(3108)  评论(0编辑  收藏  举报