關於‘檔案儲存體格式’和‘檔案內容格式’需要掰一掰的那點兒事兒,檔案儲存體
關於‘檔案儲存體格式’和‘檔案內容格式’需要掰一掰的那點兒事兒
太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商業用途-保持一致”創作公用協議
轉載請保留此句:太陽火神的美麗人生 - 本部落格專註於 敏捷開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。
先來說個例子,來引用題中的問題,後面會儘可能列出大把的實際存在的關於這倆傢伙的事兒,以供參考。
當我們錄了一段語音並存成 .wav 檔案後,就可以用播放器開啟播放出所錄到的聲音了。
這裡拋開細節,我們看與生活貼近的部分:
你說話的聲音 ---> 傳到我耳雜裡:這表明,我聽到你說的話了;
你說話的聲音 ---> 電話話筒接收到了 ---> 通過電話系統傳輸到 ---> 另一端的耳機把你的聲音播放出來了 ---> 我聽到你說的話了;
你說話的聲音 ---> 錄音機麥克接收到 ---> 儲存到磁帶上(磁帶還有人知道是啥不?!)--->磁帶拿給我用錄音機播放 ---> 我聽到你說的話了;
。。。
還有很多種方式,我能聽到你說話的聲音,僅以上面三個為例,其中涉及到一個主體和兩個載體:
主體:
聲音,包括你說話發出的聲音,也即空氣震動;還有我聽到的聲音,也是空氣震動;
第一載體:
你說出來的把空氣震動起來,我聽到是,震動的空氣傳入我的耳雜,起始兩處無可厚非,差別在於,如何延伸這個空氣的震動,或者說能讓這個震動被記錄下來,在需要的時侯,再原樣振起來。
第二截體:
完全針對空氣震動的一種記錄承載。
迴歸正題,空氣震動產生聲波,聲波通過定時採樣聲振強度值這個類比量,再用數值來表示,就是這一時刻的聲音;當連續的採樣按採樣頻率原樣再展現出來,也即撓動空氣也達到同樣的指標,人們的耳雜就能從這些間斷的聲振中恢複出內容來,越密,越和原聲音相仿。
這些間斷的數值儲存到一個檔案中,以便能長期儲存,並且檔案頭描述著這些聲音採樣的一些資訊。
這段中涉及到兩個內容:聲音是如何採樣並量化的,這是一個原始的資料,而另一個是這些資料存放區到磁碟檔案,所帶的檔案頭描述資訊。
原始的聲音資料這樣存在檔案中會很大,所以出現了很多對聲音進行編碼的演算法,按這樣的演算法對聲音處理之後,聲音所佔空間很小了,按同一演算法的逆運算恢複出來的原始聲音資料同樣能聽出原聲音的內容,只不過這個過程,會有聲音細節的損失。
而同樣的聲音資料,無論是原始的,還是經過一定演算法處理後的聲音資料,可以按特定的檔案儲存體格式要求寫到檔案中。
實在寫不下去啦,墨跡了半天,就那點兒事兒,可是還是感覺細節描述不出來。。。
那麼再看看文本中儲存的內容,也包括兩方面:一是文本的編碼,如果就一種的話,就不會出現開啟檔案有亂碼的情況了;二是文本的儲存格式,是txt還是word,又或者 pdf,就那幾個字,存成的檔案類型確可以不一樣,而文字編碼也可以不一樣。
再有視頻、圖片等等,這些都和人的感觀相聯絡著,或者未來還會出現震動或觸覺的採樣與儲存,或者嗅覺?!。。。
用個生動的生活例子再比較一下:
買了一塊水豆腐,放在一個磁碟兒裡,放到一個碗裡,或者直接放鍋裡?!。。。都行
而這塊豆腐,是整塊放,還是切四掰兒再放,又或者凍完再化了放,化了切成小塊兒再放?!。。。都行
豆腐是文本、語音、圖片、視頻;容器就是儲存格式。
好了,再掰下去,我自已可能就該不明白了,畢竟,我們接觸這些事物是從感性到理論,而不是像我們從初中開始學英語,到大學畢業,一直都是先理性後感性,又或者到頭來一直沒感性起來,見外國人,不知說啥,可是考試打個百八十分都很輕鬆。
以上閑來扯淡,下面有空兒再補一補各種文字、音頻、映像、視頻。。。所常用的格式及對應的識別。
這些是從 speex 和 ogg 聯想到的,希望有人會知道這兩個東西是什麼,期待著視頻領域的 speex 和 ogg !@