# b模式:
# 1:适用所有格式(文本,mp3,视屏等等)
# 2:在定义句柄阶段不能指定解码规则
# 3:在接收的阶段需要手动编码
# 一、b模式介绍:
# 我们已经知道t模式只适合文本的比较局限,所有有了b模式
# b模式可以传输所有格式的文件(视屏,图片,音乐等等)
# 二、b模式原理介绍:
# 1:首先open() as f: 这句话就是打开仓库(磁盘),然后f.read()是一个搬运工,
# 它负责把磁盘的货(数据)不经加工的搬运到内存,所以内存中的货就是仓库中的货,
# (也就是二进制形式)
# 2:然后,在内存中的数据是bytes类型,我们需要用编码规则把它转成unicode
# B模式下的str演示:
with open('F:ATMREDANE', 'rb') as f: # 这里不用进行编码
# res = f.read() # 1:这里在内存中读取不做编码处理
# print(res, type(res))
res = f.read().decode('utf8') # 2:处理后的结果演示
print(res, type(res))
# B模式读取bytes比较保险的方式:
path = 'F:ATMREDANE'
with open(path, 'rb') as f:
while True:
res = f.read(1024).decode('utf8')
if len(res) == 0:
break