改變文本文檔的后綴會(huì)怎么樣 為什么文件后綴更改后,仍能使用?
為什么文件后綴更改后,仍能使用?文件的格式不僅僅體現(xiàn)在后綴上,事實(shí)上文件頭里會(huì)包含格式信息,也就是說(shuō)雖然你改了后綴,從文件本身還是可以看出文件的格式是什么的。雖然沒(méi)有具體研究過(guò),不過(guò)我猜測(cè)應(yīng)該是視頻軟
為什么文件后綴更改后,仍能使用?
文件的格式不僅僅體現(xiàn)在后綴上,事實(shí)上文件頭里會(huì)包含格式信息,也就是說(shuō)雖然你改了后綴,從文件本身還是可以看出文件的格式是什么的。雖然沒(méi)有具體研究過(guò),不過(guò)我猜測(cè)應(yīng)該是視頻軟件嘗試以后綴格式打開(kāi)失敗后直接根據(jù)文件頭獲取格式再用正確的讀取。
為什么改了文件名字后面沒(méi)有改變?
你在資源管理器里面點(diǎn)工具——文件夾選項(xiàng)——查看——往下拉點(diǎn)到把“隱藏已知文件的拓展名”的那個(gè)勾去掉,然后點(diǎn)確定,再去修改文件拓展名!
只改文件名不改后綴名文件會(huì)不會(huì)有影響?
結(jié)論前置:文件名和文件內(nèi)容是獨(dú)立不相關(guān)聯(lián)的,而文件格式與文件內(nèi)容是相關(guān)的。文件名后綴僅用于提供給系統(tǒng) shell 一個(gè)關(guān)于文件類型的「暗示」。更改文件后綴名不會(huì)改變文件的「格式」,只會(huì)影響「系統(tǒng)默認(rèn)打開(kāi)這個(gè)文件的」。文件是什么?文件是存儲(chǔ)在系統(tǒng)存儲(chǔ)空間(如磁盤(pán))中的一段數(shù)據(jù)。一個(gè)文件由一個(gè)特定程序創(chuàng)建,包含了對(duì)這個(gè)程序有特定含義的一段字節(jié)序列,因此每次這個(gè)程序打開(kāi)這同一個(gè)文件的時(shí)候,獲取到的信息是一樣的。其它能夠與上述程序以同樣理解這段內(nèi)容的程序也可以從這個(gè)文件中獲取完全一樣的信息。這個(gè)「理解這段內(nèi)容的方法」就是文件格式。同一段內(nèi)容可以有不同的解讀方法,那么我們可以認(rèn)為它是同時(shí)屬于幾種有效格式。譬如下面一段
全部由可讀的 ASCII 字符組成,所以它是一個(gè)純文本文件;但熟悉 C 語(yǔ)言的人都可以看出這是一段 C 代碼;認(rèn)為它是 C 代碼一樣不會(huì)出錯(cuò)。文件名是什么?由于磁盤(pán)本身空間巨大,且有大量程序共同訪問(wèn),一段內(nèi)容存儲(chǔ)在磁盤(pán)中可能不是連續(xù)的,可能位置會(huì)發(fā)生改變;且磁盤(pán)地址并非人類可以輕易理解的內(nèi)容,所以有了文件名和路徑。文件名和路徑用于幫助人(通過(guò)程序)查找到某個(gè)特定的文件;同時(shí)文件名本身也可以作為一個(gè)「標(biāo)簽」告訴用戶文件的內(nèi)容,比如 README.txt 可以看出是一份說(shuō)明文檔。擴(kuò)展名 txt 的部分也是類似,它只是這個(gè)文件的名字的一部分,用于告訴用戶「這是一個(gè) txt 文件」。擴(kuò)展名有什么用?一個(gè)程序通常(或,默認(rèn))以一種特定的去讀取用戶要求它讀取的文件。譬如記事簿 notepad.exe 和 vi 編輯器會(huì)默認(rèn)將用戶要求它打開(kāi)的文件作為「純文本格式」打開(kāi)——即,文件中所有內(nèi)容都是 ascii 編碼、或其它系統(tǒng)默認(rèn)編碼下可以直接被人類閱讀的文字。用戶打開(kāi)一個(gè)文件的時(shí)候,可以是先進(jìn)入某個(gè)程序再選擇打開(kāi)這個(gè)程序(File - Open)或者在進(jìn)入某個(gè)程序的時(shí)候同時(shí)打開(kāi)某個(gè)文件(如 vi info.txt 命令);也可以通過(guò)在「文件管理器」或者其它 shell 程序中「雙擊」這個(gè)文件——讓系統(tǒng)幫助「找到」合適打開(kāi)這個(gè)文件的。Windows 系統(tǒng)會(huì)根據(jù)文件擴(kuò)展名部分,在一個(gè)數(shù)據(jù)庫(kù)中查找「可以打開(kāi)這個(gè)擴(kuò)展名文件的程序」,譬如 .doc 可以用 Word 打開(kāi),那么用戶在雙擊一個(gè) .doc 文件的時(shí)候,系統(tǒng)會(huì)自動(dòng)啟動(dòng) Word 程序,并通知 Word 去加載這個(gè)文件。OS X 一方面參考文件的擴(kuò)展名,一方面會(huì)參考文件的屬性(可執(zhí)行權(quán)限)和文件內(nèi)容(magic bits)去尋找合適的做法。從這里可以看出,Windows 系統(tǒng)在打開(kāi)一個(gè)文件的時(shí)候,只根據(jù)文件名中的擴(kuò)展名就可以找到對(duì)應(yīng)的程序。第一段中的例子
如果被命名為 hello.c,則系統(tǒng)可以調(diào)用 Visual C 打開(kāi);而如果命名為 hello.txt,則系統(tǒng)會(huì)調(diào)用記事簿打開(kāi)。這也就是為什么會(huì)有人認(rèn)為,為什么改了一個(gè)文件的擴(kuò)展名是更改了這個(gè)文件的類型。實(shí)際上發(fā)生了變更的只是這個(gè)文件在系統(tǒng)中的默認(rèn)打開(kāi);如果文件本身內(nèi)容不符合程序?qū)ξ募?nèi)容格式的預(yù)期,仍然是會(huì)出錯(cuò)的。同時(shí),如果有幾個(gè)擴(kuò)展名都默認(rèn)使用同一個(gè)程序打開(kāi),則文件擴(kuò)展名與文件格式不符的情況能否正確打開(kāi)取決于程序本身。如我將一個(gè) .jpg 文件的擴(kuò)展名改為 .png,而兩者默認(rèn)打開(kāi)都是某圖像瀏覽器,則系統(tǒng)仍然會(huì)調(diào)用這個(gè)圖像瀏覽器打開(kāi)這個(gè)文件;而這個(gè)瀏覽器是否對(duì)文件內(nèi)容和擴(kuò)展名不匹配的情況作出兼容處理還是報(bào)錯(cuò),則完全取決于程序本身。Windows 用戶有一個(gè)「令人震驚」的習(xí)慣,即:右鍵單擊桌面 - 新建 - 新建文本文件,然后將文件名改為 ,雙擊打開(kāi)。這個(gè)操作實(shí)際上只是提示 Word 去打開(kāi)這個(gè)文件;而 Word 恰好對(duì)于一個(gè)剛創(chuàng)建的,內(nèi)容完全為空(一個(gè)字符都沒(méi)有)的偽doc 文件不報(bào)錯(cuò)而已。這種「兼容性」實(shí)際上誤導(dǎo)了許多人對(duì)「文件名」和「文件格式」這個(gè)基本概念的理解。-