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'