二进制文件是计算机文件中最常见的文件,它占用空间最小,适合于接连存储许多数据,一起它的存储格局根本和数据在内存中的存储格局共同或许类似,许多情况下,乃至是内存的映射,因而无论是存储仍是读取都是速度最快的,一起,具有十分高的安全性,假如不知道数据的格局,很难剖析出文件的格局.
同文本文件相同,翻开和封闭是完全相同的,不同的是写VI和读VI.
先看一个简略写的比方
上面写的是U8数组,咱们知道,一个U8对应一个字节,1024个U8数组对应的文件长度应该是1024=1K,可是实践文件长度是1028=4+1024,同理,下面的是I32的数组,一个I32=4BYTE,所以文件长度应该是1024*4=4096,可是实践文件长度是4100=4+4*1024.
能够看出,对一维数组,多出四个字节的长度,实践上是多出一个U32=4BYTE,代表的是一维数组的长度.原因在于WRITE BIN FILE VI,有一个挑选项,如下图,表明是否写入数组长度或许字符串长度.
假如撤销写入数组或许字符串长度,则数组所占空间巨细和二进制文件所占空间完全相同.
之所以读写二进制文件速度是最快的,根本原因在于二进制文件的存储方法和数据在内存中的存储方法类似或许完全共同.
WRITE BIN FILE VI还有一个重要的输入挑选项目,BYTE ORDER(字节次第),许多编程言语或许操作体系称之为巨细端的问题.
在所有的计算机体系,包含单片机中,都存在巨细端的问题.简略地介绍一下.
咱们知道,一个整数U16或许I16,有两个字节组成,比方整数0X1234,由字节0X12,和0X34组成,那么,在内存中或许文件中,到底是0X12在前仍是0X34在前那,在不同的操作体系和不同的编程言语中,这是有差异的,这就形成的数据的巨细端的问题.
关于咱们自己的数据二进制文件,这个挑选并不重要,由于LV的读二进制VI也有相同的挑选项,坚持二者共同就能够了,可是假如被其它编程言语读取或许读取其他言语写的二进制文件,就要考虑巨细端的问题,不然数据体现可能会呈现过错,比方0X1234,可能会变成0X3412.