任务7.4 二进制文件
上一节
下一节
计算机文件基本上分为二种:二进制文件和ASCII(也称纯文本文件),图形文件及文字处理程序等计算机程序都属于二进制文件。
(1)使用'r'的时候如果碰到'0x1A',就会视为文件结束,这就是EOF。使用'rb'则不存在这个问题。
(2)对于字符串x='abc/ndef',可用len(x)得到它的长度为7,/n称为换行符,实际上是 '0X0A'。
Python使用struct模块来处理二进制数据。struct模块中最重要的三个函数式pack(), unpack(),calcsize()。这三个函数的功能如下:
pack(fmt, v1, v2, ...)按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
unpack(fmt, string)按照给定的格式(fmt)解析字节流string,返回解析出来的tuple
calcsize(fmt)计算给定的格式(fmt)占用多少字节的内存
例1:用pack函数对数据进行二进制转化

运行结果:
例2: 熟悉struct中pack与unpack函数的作用原理与fmt格式的应用
运行结果:

