<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > labview的深入探索----文件系列之文件的幾點(diǎn)思考

          labview的深入探索----文件系列之文件的幾點(diǎn)思考

          作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò) 收藏
          有關(guān)LABVIEW的文件操作,我分別介紹了數(shù)據(jù)記錄文件,文本文件和二進(jìn)制文件,另外還有波形文件,圖象文件(BMP,JPG,PNG等),聲音文件,視頻文件,EXE文件,DLL文件,如此多的文件類型,本質(zhì)上有區(qū)別嗎?

          從根本上來(lái)說(shuō),文件是存儲(chǔ)在磁盤(pán)上的連續(xù)字節(jié)流,最小單位是字節(jié),一個(gè)文件的大小,表示的是包含字節(jié)的多少,其實(shí),文件還應(yīng)該包括一些附加信息,比如文件生成日期,修改日期,讀寫(xiě)屬性等,不過(guò)這些是由操作系統(tǒng)負(fù)責(zé)維護(hù)的,和文件包含的數(shù)據(jù)沒(méi)有關(guān)系.

          我們可以這樣認(rèn)為,文件從本質(zhì)上來(lái)說(shuō)都是二進(jìn)制的,即便是文本型文件,本質(zhì)上也是二進(jìn)制的,不過(guò)存儲(chǔ)的二進(jìn)制數(shù)代表的是ASCII碼,文件的后綴也只能說(shuō)明的是文件代表的類型.

          比如文本文件后綴一般是.TXT,普通二進(jìn)制文件一般是.BIN或者.DAT,我們完全可以把我們自己的文本文件存儲(chǔ)成.DAT,只要讀的時(shí)候按文本的方式讀取就可以了.

          說(shuō)到底,讀文本文件的過(guò)程也是按字節(jié)方式讀取的,不過(guò)是中間加上ASCII翻譯的工作并顯示出來(lái).

          因此,我們完全可以用二進(jìn)制的方式讀文本文件.
          文件的本質(zhì)并無(wú)不同,真正不同的是如何解釋二進(jìn)制文件的具體內(nèi)容,所以讀寫(xiě)二進(jìn)制文件是最最基本的文件操作,所有其它格式文件的讀寫(xiě)不過(guò)是在這個(gè)基礎(chǔ)上,針對(duì)具體文件內(nèi)容,按照相應(yīng)文件格式,做進(jìn)一步的解析.



          上面的例子把12345字符串寫(xiě)入文本文件,那文件到底是如何存儲(chǔ)的那



          雖然WINDOWS記事本顯示的12345和我們寫(xiě)入的字符串是相同的,但是文件中實(shí)際存儲(chǔ)的是5個(gè)字節(jié),分別是16進(jìn)制的31,32,33,34,35.對(duì)應(yīng)的就是1,2,3,4,5的ASCII,可見(jiàn)文本文件也是按字節(jié)方式存儲(chǔ)的,不過(guò)是每個(gè)字節(jié)代表一個(gè)字符的ASCII.

          下面我們用LV二進(jìn)制文件讀取方式讀取上面的文本文件,通過(guò)LV的字符操作,來(lái)還原12345這個(gè)字符串.



          結(jié)果完全相同

          我們?cè)倏匆幌翷ABVIEW本身提供的讀BMP文件的VI
          BMP的具體文件格式各類編程語(yǔ)言的書(shū)籍都有介紹,我跟蹤了一下,READ BMP FILE VI





          LABVIEW讀BMP文件是通過(guò)讀二進(jìn)制文件+文件解析實(shí)現(xiàn)的.


          關(guān)鍵詞: labview文件系

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();