久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > labview的深入探索----文件系列之二進制文件

labview的深入探索----文件系列之二進制文件

作者: 時間:2017-01-09 來源:網絡 收藏
二進制文件是計算機文件中最常見的文件,它占用空間最小,適合于連續存儲大量數據,同時它的存儲格式基本和數據在內存中的存儲格式一致或者類似,很多情況下,甚至是內存的映射,因此無論是存儲還是讀取都是速度最快的,同時,具有非常高的安全性,如果不知道數據的格式,很難分析出文件的格式.



同文本文件一樣,打開和關閉是完全相同的,不同的是寫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.

上一頁 1 2 下一頁

評論


技術專區

關閉