文件格式 - 電腦為了存儲(chǔ)信息而使用的對(duì)信息的特殊編碼
文件格式(或文件類型)是指電腦為了存儲(chǔ)信息而使用的對(duì)信息的特殊編碼方式,是用于識(shí)別內(nèi)部?jī)?chǔ)存的資料。比如有的儲(chǔ)存圖片,有的儲(chǔ)存程序,有的儲(chǔ)存文字信息。每一類信息,都可以一種或多種文件格式保存在電腦存儲(chǔ)中。每一種文件格式通常會(huì)有一種或多種擴(kuò)展名可以用來(lái)識(shí)別,但也可能沒(méi)有擴(kuò)展名。擴(kuò)展名可以幫助應(yīng)用程序識(shí)別的文件格式。對(duì)于硬盤(pán)機(jī)或任何電腦存儲(chǔ)來(lái)說(shuō),有效的信息只有0和1兩種。所以電腦必須設(shè)計(jì)有相應(yīng)的方式進(jìn)行信息-位元的轉(zhuǎn)換。對(duì)于不同的信息有不同的存儲(chǔ)格式。
作用
有些 文件格式被設(shè)計(jì)用于存儲(chǔ)特殊的 數(shù)據(jù),例如: 圖像文件中的 JPEG文件格式僅用于存儲(chǔ) 靜態(tài)的圖像,而 GIF既可以存儲(chǔ)靜態(tài)圖像,也可以存儲(chǔ)簡(jiǎn)單動(dòng)畫(huà); Quicktime格式則可以存儲(chǔ)多種不同的媒體類型。文本類的文件有: text文件一般僅存儲(chǔ)簡(jiǎn)單沒(méi)有格式的 ASCII或 Unicode的文本; HTML文件則可以存儲(chǔ)帶有格式的文本; PDF格式則可以存儲(chǔ)內(nèi)容豐富的,圖文并茂的文本。
同一個(gè) 文件格式,用不同的 程序處理可能產(chǎn)生截然不同的 結(jié)果。例如Word 文件,用 Microsoft Word觀看的時(shí)候,可以看到文本的內(nèi)容,而以無(wú)格式方式在 音樂(lè)播放 軟件中播放,產(chǎn)生的則是噪聲。一種 文件格式對(duì)某些 軟件會(huì)產(chǎn)生有意義的 結(jié)果,對(duì)另一些 軟件來(lái)看,就像是毫無(wú)用途的 數(shù)字垃圾。
類型
從程序的角度來(lái)看,文件是數(shù)據(jù)流,文件系統(tǒng)為每一種 文件格式規(guī)定了訪問(wèn)的方法。例如:元數(shù)據(jù)。不同的 操作系統(tǒng)都習(xí)慣性的采用各自的方式解決這個(gè)問(wèn)題,每種方式都有各自的優(yōu)缺點(diǎn)。
當(dāng)然,現(xiàn)代的 操作系統(tǒng)和 應(yīng)用程序,一般都需要這里所講述的方法處理不同的文件。
規(guī)范
許多 文件格式都有 公開(kāi)的、不同程度 規(guī)范或者 建議的 格式。這些規(guī)范或者 建議描述了數(shù)據(jù)如何 編碼,如何排列。有時(shí)也規(guī)定了是否需要特定的電腦程序讀取或處理。有兩種情況下, 文件格式?jīng)]有公開(kāi)。第一種情況是:開(kāi)發(fā)者將 文件格式視作商業(yè)秘密不愿公開(kāi);第二種情況是:開(kāi)發(fā)者不愿或花去很少的時(shí)間用于 規(guī)范文檔。
需要注意的是,使用不公開(kāi)的 文件格式可能會(huì)帶來(lái)額外的成本。要了解這類 文件格式或者需要通過(guò)對(duì)獲得的文件進(jìn)行 逆向工程,或者通過(guò)向開(kāi)發(fā)者付費(fèi)來(lái)獲得文件的格式。第二種方式中往往還需要與開(kāi)發(fā)者簽訂不擴(kuò)散協(xié)議。不論怎樣兩種方式都是費(fèi)時(shí),費(fèi)錢(qián)的。
擴(kuò)展名
用 擴(kuò)展名識(shí)別 文件格式的方式最先在數(shù)字設(shè)備公司的 CP/M操作系統(tǒng)被采用。而后又被DOS和Windows 操作系統(tǒng)采用。 擴(kuò)展名是指文件名中,最后一個(gè)點(diǎn)(.)號(hào)后的字母序列。例如,HTML文件通過(guò).htm或. html 擴(kuò)展名識(shí)別;GIF 圖形文件用. gif擴(kuò)展名識(shí)別。在早期的 FAT文件系統(tǒng)中, 擴(kuò)展名限制只能是三個(gè)字符,因此盡管絕大多數(shù)的 操作系統(tǒng)已不再有此限制,許多 文件格式至今仍然采用三個(gè)字符作擴(kuò)展名。因?yàn)闆](méi)有一個(gè)正式的 擴(kuò)展名命名標(biāo)準(zhǔn),所以,有些 文件格式可能會(huì)采用相同的擴(kuò)展名,出現(xiàn)這樣的情況就會(huì)使 操作系統(tǒng)錯(cuò)誤地識(shí)別文件格式,同時(shí)也給用戶造成困惑。
擴(kuò)展名方式的一個(gè)特點(diǎn)是,更改 文件擴(kuò)展名會(huì)導(dǎo)致系統(tǒng)誤判 文件格式。例如,將文件名. html 簡(jiǎn)單改名為文件名.txt會(huì)使系統(tǒng)誤將HTML文件識(shí)別為 純文本格式。盡管一些熟練的用戶可以利用這個(gè)特點(diǎn),但普通用戶很容易在改名時(shí)發(fā)生錯(cuò)誤,而使得文件變得無(wú)法使用。因此,現(xiàn)代的有些 操作系統(tǒng)管理程序,例如Windows Explorer加入了限制向用戶顯示 文件擴(kuò)展名的功能。
特征簽名
一種廣泛應(yīng)用在 UNIX及其派生的 操作系統(tǒng)上的方法是將一個(gè)特殊的數(shù)字存放在文件的特定位置里。最初這個(gè)數(shù)字一般是文件開(kāi)始處的2個(gè) 字節(jié)。一般是將任何可以獨(dú)一無(wú)二 字符序列都可以作為特征簽名。例如GIF 圖形件是將文件開(kāi)始處的六個(gè)字節(jié)作為特征簽名的,它可以是 GIF87a或者GIF89a。但也有些文件很難通過(guò)這種方式識(shí)別,比如 HTML文件。
采用這種方式可以更好的防止對(duì) 文件格式發(fā)生誤判,并且特征簽名可以給出關(guān)于 文件格式的更 詳細(xì)的信息。這種方式的缺點(diǎn)是 效率較低。特別是顯示大量的文件時(shí),由于每種特征簽名具有不同的識(shí)別方式,將消耗系統(tǒng)大量的資源對(duì) 文件格式進(jìn)行判斷。 擴(kuò)展名和后面將提到的 元數(shù)據(jù)方式由于采用固定格式數(shù)據(jù),可進(jìn)行快速匹配。 應(yīng)用程序往往利用特征簽名來(lái)判斷文件是否完整和有效。
元數(shù)據(jù)
最后一種方式將 文件格式信息存放到 磁盤(pán)特定的位置。
采用這種方式, 元數(shù)據(jù)與文件本身分開(kāi)存放。此法的缺點(diǎn)是可移植性差。因?yàn)椴煌奈募到y(tǒng)之間元數(shù)據(jù)可能需要轉(zhuǎn)換。
類型碼
蘋(píng)果計(jì)算機(jī)的文件系統(tǒng)為每個(gè)文件的目錄入口都存儲(chǔ)了創(chuàng)建者和類型碼。這些代碼稱作OSType。例如一個(gè)蘋(píng)果計(jì)算機(jī)創(chuàng)建的文件的創(chuàng)建者會(huì)是AAPL而類型也是APPL。RISC 操作系統(tǒng)采用類似的系統(tǒng),用一個(gè)12比特位的數(shù)字索引描述表。例如:十六進(jìn)制的FF5代表PoScript, 文件類型就是PostScript文件。
“四字符代碼 ”相同的概念在使用微軟的Windows操作系統(tǒng)。這個(gè)想法后來(lái)被重用在 QuickTime和 DirectShow中以確定壓縮數(shù)據(jù)類型。
幻數(shù)
幻數(shù)( 外語(yǔ): magic number),它可以用來(lái)標(biāo)記文件或者協(xié)議的格式,很多文件都有幻數(shù)標(biāo)志來(lái)表明該文件的格式。
例如zip文檔的開(kāi)頭標(biāo)記一般為 PK(包、 外語(yǔ)全稱: P K),這是一種源于 磁盤(pán)操作系統(tǒng)時(shí)代的格式。
文件屬性
HPFS, NTFS, FAT12, FAT16, 及FAT32文件系統(tǒng)可以保存額外的文件屬性信息。它是由名字和與名字對(duì)應(yīng)的值組成。例如擴(kuò)展屬性“.type”用于判斷文件的類型,可能是值包括“Plain Text”或“HTML document”。一個(gè)文件可以有多種屬性。
擴(kuò)充類型
多用途網(wǎng)際 郵件擴(kuò)充(外國(guó)語(yǔ)縮寫(xiě): MIME)廣泛地用于許多Internet有關(guān)的應(yīng)用,并且正在被廣泛地采用到其他的應(yīng)用中。最初在 RFC 1341中說(shuō)明。 MIME用一個(gè)類型/自類型表示文件的類型。例如: text/ html代表文件是 HTML文件,image/ gif表示 GIF文件。MIME最初是用于表示 電子郵件的附件的類型。
