Bytes类型

硬盘只能存储2进制的数据,所以把我数据都转化为2进制才行


数据往硬盘上面存,就要以相应的编码--》转为2进制

eg. 

文字--》utf-8/gbk--》2进制

图片--》jpg/png--》2进制

音乐--》mp3/wav--》2进制

视频--》mp4/mov--》2进制

 

1 s = "小猿圈“
2 s.encode("utf-8")  #以utf-8编码
3 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节

想要自行改变文件类型的编码,只需要

1 f = open(file="encode_test",encoding="gbk",mode="w")
2 或者
3 f = open("byte.txt","w",encoding="gbk")

以二进制模式操作文件

1      当然,在打开文件时如果你不想让open这个对象帮你自动编码,你也可以直接往文件里存入bytes数据。
2 f = open("bytes.txt","wb")  #以2进制模式打开文件
3 s = "进击的小吴”.encoding(utf-8)  #自行用utf-8编码    
4 print(s)
5 f.write(s)    这里相当于把之前用utf-8编码的进击的小吴写进文档里里面了,相当于直接存入了bytes数据
6 f.close()

#以下是print(s)的输出
b'\xe8\x87\xaa\xe5\xad\xa6\xe7\xbc\x96\xe7\xa8\x8b\xef\xbc\x8c\xe8\xb0\x81\xe4\xb8\x8d\xe4\xb8\x8a\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88'(举个例子,我的应该有30个16进制数,
文件中相当于把这个东西填充进去了)

二进制模式打开文件有

1. wb     二进制创建

2. rb      二进制读

3. ab      二进制追加

posted @ 2019-11-07 23:23  进击的小吴  阅读(341)  评论(0编辑  收藏  举报