應用程序如何檢測文件擴展名?文件擴展名檢測機制
我知道每個文件都有標題,其中包含與該文件相關的所有信息。 我的問題是應用程序將如何使用該標題來檢測該文件?
文件系統中的每個文件都與它關聯了一些元數據,例如,如果我將音頻文件的擴展名從.mp3更改爲.txt,然後用VLC打開該文件,但VLC仍然可以播放該文件。 我發現每個文件都有標題部分,其中包含與該文件相關的所有信息。 我想知道如何訪問該標題?
應用程序如何檢測文件擴展名?文件擴展名檢測機制
我知道每個文件都有標題,其中包含與該文件相關的所有信息。 我的問題是應用程序將如何使用該標題來檢測該文件?
文件系統中的每個文件都與它關聯了一些元數據,例如,如果我將音頻文件的擴展名從.mp3更改爲.txt,然後用VLC打開該文件,但VLC仍然可以播放該文件。 我發現每個文件都有標題部分,其中包含與該文件相關的所有信息。 我想知道如何訪問該標題?
只給你一些更多的細節:
的文件擴展名是基本的方式來表示數據的格式(例如,TIFF圖像文件有format specification)。
通過這種方式,應用程序可以檢查它處理的文件的格式是否正確。
某些應用程序不檢查(或接受錯誤)文件格式,只是試圖將它們用作它所需的格式。因此,對於您的.mp3
文件,此文件中的數據是而不是僅在將擴展名更改爲.txt
時發生了更改。
當VLC逐字節讀取.txt
並將其解釋爲.mp3
時,它只能從該文件中提取正確的音樂數據。
現在有些文件包含一個頭文件,用於額外驗證文件內部數據的格式。例如,一個unicode文本文件(應該)包括一個BOM來指示文件中的數據如何處理。通過這種方式,應用程序可以檢查標頭標籤是否與期望的標頭相匹配,因此可以確定您的'.txt`文件實際上包含'mp3'格式的數據。
現在有相當多的應用程序來閱讀這些標題標籤,但它們通常是針對每種格式。例如這個TIFF Tag Viewer(我以前用它來檢查我的TIFF文件中的標題標籤)。
所以或者你可以用某種hex viewer打開你的文件,然後查看每個字節意味着什麼格式規範,或者你可以在Google上搜索你希望看到它們的格式的標題查看器。
謝謝.. 看起來像我可以使用大多數所有類型的文件的十六進制查看器。 –
當然,您可以:每個文件都是由位組成的,因此超出字節數,字節可以用十六進制值表示。唯一的問題是你必須弄清楚每一塊數據的含義(用格式說明符) – moffeltje
請參閱更新的問題。 –
您可以在使用這些文件時提供您使用的技術/語言嗎? – Whencesoever
您想以什麼方式訪問標題數據?你想讀十六進制還是單詞? – moffeltje