不同格式的檔案在硬碟磁片上的二進位制資料可能是完全一樣的麼

時間 2021-05-12 06:25:58

1樓:Asterisk

當然可以。

2樓:貓鼬

因為檔案簽名的存在,除了txt這種純文字檔案外,不可能出現你說的這種情況,當然是在這個檔案是正常的不是專門構造的情況,其實即使是txt在windows下也會有個bom頭不是純文字。至於你說的txt那個問題,在實際操作中不會,現在windows系統都是根據字尾關聯開啟檔案所用的程式,txt字尾的他就不會用看圖開啟。如果純考慮可能性,只能說,有可能,就像給猴子一台印表機和無限時間,它確實可能打出來一部紅樓夢,這個反駁不了。

3樓:

題主問的其實是兩道題

乙個是不同格式的檔案在硬碟上二進位制資料一不一樣,儲存資料最重要的是檔案系統,檔案索引經常是和內容分開的,索引儲存檔案的基本資訊,所以單說內容,完全可能是一樣的

換個檔案頭能不能開啟是歷史遺留問題,開啟不同格式檔案和內容的二進位制沒關係,重點是他的編碼方式,比方說你壓縮乙個檔案的編碼之後完全可能和另乙個相同(很低很低概率)

原有的編碼是123,你換一種字尾可能讀出來的就是???,所以就打不開了

4樓:

如果這個txt檔案是從可執行的exe改過來的話,再改成exe,可執行的概率是1。

如果txt檔案是純文字檔案,概率是0。

其他情況,介於0和1之間。

5樓:

小時候我幹過類似的事情。

那時還是dos為主流,windows95剛出來沒多久,很多人還在用windows3.2。

我那時想當程式設計師。覺得寫個windows啥的是個非常酷的事情。然而我老爸只讓我在wps裡打字,不肯教我怎麼寫程式。

我看我爸給別人裝電腦軟體,看會了不少命令。那時不像現在,驅動程式的安裝很多都得dos和windows聯合調整,手動設定各種引數,一不留神衝突了就得調半天。

我老爸告訴我,只有com,exe和bat字尾的檔案才能在命令提示符裡執行。

但出了一堆bad command。仔細一看,都是我輸入的那些字元每一行後面都出乙個bad command。難道bat的「程式設計」原理就是打各種dos命令?

於是我試著把dos命令寫進bat裡。成功!

於是我跟我老爸說我學會了程式設計。手動捂臉。

我老爸說你這不是程式設計。

後來我多讀了一些書,也聽了一些培訓班,看到書裡說,計算機其實只認識1和0。exe和com等可執行檔案裡都是二進位制數。於是我恍然大悟,怪不得我寫的exe和com執行宕機了呢。

於是我開啟電腦,copy con aaa.exe後,輸入了一堆1和0,Ctrl Z,滿心歡喜地執行之。仍然失望而歸。

我問老爸,老爸說,那個二進位制檔案裡不是你能看得出來的1和0!

記差點成為碼農的人的小時候……

6樓:Beta Shen

txt沒有機率當作EXE,PNG,zip開啟。txt如果是ASCII字符集,命題顯然得證。如果是gbk,utf8等,例如,用於中文,你可以去核對編碼方式和EXE,PNG,zip文件的定義,沒法去對上。

事實上,字尾名是沒有意義的(對系統,不是對人),除了讓作業系統去找對應的開啟的應用程式(檔案關聯)。檔案的意義(文件格式)在於檔案資料本身,不是檔名。例如,你把磁碟分割槽格式化,拿資料恢復軟體直接去掃瞄資料區,只要檔案資料是連續的,那麼找回來的PNG檔案,我雖然不知道檔名,依然是可以恢復並開啟看的。

樓主可以把很多檔案字尾名去掉(或改掉),先開啟對應軟體,再去開啟這個檔案,是完全可以正常使用的。

學會試驗,提問,再去找一下資料,樓主可以學得好

7樓:DBinary

可能,當然可能,你先把乙個exe檔案改成txt字尾,然後再改回來,雙擊執行沒一點毛病,不過正常的txt文字編輯器不大可能寫的出乙個能執行的exe檔案來,exe檔案是pe格式的,開頭四位元組兩位元組是PE,接兩個00,這兩個0你無法用txt編輯器打出來

8樓:Binhood

不可能的,不信你可以試一下把exe改成txt然後開啟它,耐心等待幾秒後等txt裡面的字元載入完畢,再把txt裡面的內容複製下來,貼上到另乙個txt裡面,最後把它改成exe。然後再執行,你會發現,這根本就是乙個無效的可執行檔案。

9樓:今天吃什麼

有,但是除非特意的,概率基本為0。

這取決於你txt檔案的內容。你可以把exe的字尾改成txt,這就是乙個txt文字了,雖然都是亂碼。複製一下,新建乙個檔案,填充一樣的內容,字尾儲存成EXE試試。

10樓:狗肉 花與果

理論上有,那些說不可能的基本都沒想清楚。

不管啥檔案頭,不過是一些約定罷了 。

如果你的檔案恰好符合該約定,當然可以被當作這樣型別的檔案開啟。

說白了,你把乙個exe當做txt檔案開啟可以嗎?再把這個txt當做exe開啟可以嗎?那麼乙個txt檔案當然是可能可以被當作exe檔案執行的。

11樓:[已重置]

管中窺豹謂之一斑。這種問題提問前先思考下行嗎,把乙個可執行exe改成txt,記事本打得開吧,在改成exe可以執行吧。思考下再問比較好,真的孩子

12樓:文乃天下第一

可以的你先複製乙個可執行的exe檔案

然後改字尾名為txt

然後忘記這件事

只會修改這個檔案字尾名為exe

就可以執行了

完正確回答

不行的txt正常只包括字元資訊

而可執行檔案中都是指令

而且開頭都是特定內容根本沒有一樣的可能性

13樓:於愚與魚餘

不可以 ,據我所知,不同型別的檔案二進位制的頭幾位和尾部幾位都時有要求的。

很多web介面都會對上傳檔案的檔案頭尾字元進行校驗,已確定上傳的不是惡意上傳的木馬病毒。

14樓:Zign

你們啊,就知道嘲笑題主,這種事試試不就知道了。

開啟記事本,輸入幾個數字,然後儲存成.exe檔案(記得ANSI編碼),然後開個cmd去執行一下。

結論是可以執行的,不會報錯,但會發生異常導致小黑視窗cmd被關閉。

一些不負責任的猜測。

上古時代的com是沒有檔案頭的,裡面就是純機械碼。

而DOS處理com和exe其實是一視同仁的,比如你把exe改成com或者反過來都是可以執行的。

後來的windows也繼承了這一特性。事實上9x的http://

command.com

就已經是exe檔案了,不過仍然叫com,仔細看看就能看出它已經超過64k了。

對此,XP肯定是繼承了的。

後來的win7,win10是不是這樣我不是很清楚,我猜應該也可以。

所以你把乙個沒有檔案頭的檔案餵給windows執行,Windows可能會把它當成純機械碼的com檔案來執行。而一部分機械碼是和ASCII重合的,所以是可以執行的。

當然要完成某項功能幾乎就沒戲了。(光憑記事本的話)

但其實也沒有那麼絕望,有空更。

15樓:Luv Letter

我來嘲諷一句題主,不要把知乎當知道。

16樓:Bluebear

PE檔案頭如果你用UltraEdit之類16進製制編輯器是能寫的。不過你大概碰巧遇不到txt的exe。

當然的確存在病毒啥的,我記得的確有vbs之類會把病毒儲存為非exe然後執行時改名。

至於txt如果裡面堆上base64的gif,的確可以當圖用,base64編碼在瀏覽器裡很常用。

17樓:

當然可以。

只要內容一樣,副檔名其實不重要

比如把乙個sh指令碼的副檔名改成mp4,丟到shell裡一樣能正常執行,副檔名本身其實只是在特定系統內用來標識直譯器的工具。

18樓:

檔案字尾名不重要,關鍵是檔案內容是否遵循目標檔案的檔案格式。

txt檔案裡面也可以有非可列印字元,只不過不能用一般的文字編輯器寫進去就是了。

19樓:

首先題主需要確定所謂的「TXT」檔案究竟是什麼。如果是任意檔案改個字尾名,那顯然是可以的。如果是指經過windows的notepad編輯過的檔案呢?

首先要明確的就是,windows自帶的notepad編輯檔案過後會自動把檔案中的所有\0 (十六進製制的00)給替換成 \x20 (也就是ascii中的空格),也就是說,經過notepad編輯過的檔案不能有\0這種字元

所以問題也就變成了,windows的exe(也就是PE格式)能否特殊方法處理一下以至於可以不帶\0呢,答案是不可能,因為PE格式中PE頭的magic 就是PE加上兩個\0, 因此無論如何構造PE檔案,都不可能構造出能夠經過notepad編輯又保持PE結構的檔案

20樓:堅持30天

CPU執行二進位制資料必須是用CPU指令集編寫的二進位制指令序列,而不是其它什麼二進位制資料。

硬碟儲存的資料格式取決於作業系統,更準確的說是取決作業系統用於管理儲存的檔案子系統。所以硬碟上的檔案也只有作業系統才認識,才能解析。

21樓:Weasley Frank

可以的。前提是你不能用notepad.exe做編輯。

notepad++,或者乾脆winhex之類的十六進製制編輯軟體弄個txt字尾的exe出來完全可以。

其實notepad你要是直接摁alt字元也是可以的,前提是你知道敲啥東西進去(也就是二進位製長啥樣),然後我記得之前有個記事本的溢位後執行命令的bug就是這麼操作的,前面用特定字元觸發溢位後填充大量的0字元然後執行NtAPI的函式提權啥的……

22樓:Cyandev

.png 和 .mp4 等檔案改成 .

exe 是 100% 不能執行的,隨便乙個 .txt 改成 .exe 還有一定的可能性(但是可能性趨近於 0%,可以看作不可能事件)。

因為諸如 .png 這類有格式的檔案,它們的檔案頭已知就是和 .exe 的 PE 檔案頭不一致的。

而 .txt 這種無格式檔案可以存放任意資料格式,反正它們就是一串位元組。但是據我所知,Notepad.

exe 這類文字編輯器儲存出來的 .txt 改成 .exe 是 100% 執行不了的,因為編碼限制,.

exe 檔案格式中要求的很多位元組並不是 ANSI、Unicode 等編碼變種中的合法字元。也就是說 Notepad.exe 儲存的檔案只包含合法位元組,因此格式就不可能符合 PE 檔案格式要求。

不同格式的筆記本,有什麼作用?

我就想說,答主本子好多啊.我認為記手帳是愛好,如果想寫好字,還是應該多練字帖.我也不知道答主的年齡,不知道怎樣給你確切的建議,就按我自己的情況說吧。大本子 A4左右 我是拿來記筆記的 咳,我還在上初中.中等本子 A4一半 我拿來記錄一些句子.哈哈,好亂哦,這是之前寫的,暑假要做的東西很多,好久沒寫了...

如果我把裝有重要檔案的硬碟格式化,然後裝滿電影,還有可能復原最初的檔案嗎?

何止於 Linux前提下,理論上來講。先來說一下Linux的檔案概念,Linux系統一切皆檔案的思想,一切I O 服務等都是以檔案的方式來訪問。可以用file 檔名來看檔案的型別。 newbie Go 傳說中是可以的 實際也沒有什麼例子真能證明這事,如果真有這種例子,一般人肯定也是見不到的 讀取剩磁...

FTP與SMB CIFS在檔案共享上的異同?

億方雲 SMB Server Message Block SMB,即服務 器 訊息塊,是 IBM 公司在 80 年代中期發明的一種檔案共享 協議。它只是系統之間通訊的一種方式 協議 並不是一款特殊的軟體。SMB 協議被設計成為允許計算機通過本地區域網 LAN 在遠端主機上讀寫檔案。遠端主機上通過 S...