字节
一、字节
1、字节(bytes)介绍
在Python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。
bytes数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。
Python3中,bytes通常用于网络数据传输、二进制图片和文件的保存等等。
2、字节(bytes)创建
可以通过调用bytes()生成bytes实例,其值形式为b’xxxx’,对于同一个字符串,如果采用不同的编码方式生成bytes对象,就会形成不同的值。
bt_1 = b'hello' # 创建字节 b'xxxx'
print(type(bt_1)) # <class 'bytes'>
bt_2 = bytes('hello', encoding='utf8') # 创建字节:bytes(string, encoding[, errors]) -> bytes gbk:中国码 utf8:万国码
print(bt_2) # b'hello'
print(type(bt_2)) # <class 'bytes'>
3、字节与字符串的转换
在实际应用中,我们通常会将bytes类型与str类型做转换。
bt_1 = b'hello'
print(type(bt_1)) # <class 'bytes'>
'''
将bt_1转换为str类型
'''
s_1 = bt_1.decode() # decode()解码
print(s_1) # hello
print(type(s_1)) # <class 'str'>
'''
将字符串转换为字节
'''
s_2 = 'world'
s_3 = s_2.encode() # encode()编码
print(s_3) # b'world'
print(type(s_3)) <class 'bytes'>