「不知道大家有沒有用過『即時通』呢?這裡說的可不是現在常用的 Line、WhatsApp、Messenger,而是更早期的即時通訊軟體——像 Yahoo! 即時通、MSN 這些曾經風靡一時的工具。」
忘記從哪一年開始,Yahoo! 即時通跟 MSN 這類即時通訊軟體開始流行起來,基本上你只要持有一個 Yahoo 或 MSN 帳號,就可以和全世界的朋友即時聯絡。
某一天,我收到我同學的即時通私人訊息...
「叮咚~~~」即時通發出的聲音。
「ㄟ!Ray,你有空嗎?我想麻煩你幫我改一下作業。」那天我在網咖打遊戲,玩得正起勁時,同學的即時通小視窗突然跳了出來,結果整個遊戲畫面瞬間被切回桌面。
「X!」我忍不住在大喊著,因為當時正在激烈廝殺(打槍戰遊戲)。
你們可以想像一下,正要補最後一槍或者打 LoL 英雄聯盟團戰時,畫面突然跳到桌面上,你當下不會爆氣嗎?
「等等幫你看啦!我在打 CS 啦!」我超級不爽的回覆著。
「打屁打!先幫我改作業!」同學很神速的回覆我訊息。
(叮咚!叮咚!叮咚!)
不得不說,那時候的即時通真的很煩。只要有訊息進來就會叮咚響一聲,對話視窗還會跳出來把整個畫面遮住。想不被打擾的唯一方法,就是直接把即時通登出。
「好啦!改什麼啦!」要不是我剛好打完,我真的會想要直接噴髒話給他。
「昨天電腦課老師說要把 Word 某一段文字改間鉅,但是我電腦改不了,想請你幫我改!」同學說著。
「喔好~改成xx行對嗎?」其實改個行距花不了多少時間,所以我就答應了。
「對!」同學超神速回覆我訊息,順便把檔案傳給我。
接收到檔案後,我才發現這檔案根本打不開,點擊後總是出現以下畫面:
檔案格式我已經記不得了,只記得網咖電腦限制很多,連 Microsoft Word 這類軟體都不能裝。
接下來要說明一下,為什麼前面會遇到檔案打不開的問題,這就得從『副檔名』開始講起。
副檔名(File Extension)是指檔案名稱後面,用來標示這個檔案類型的字串,通常會由一個英文句點(.
)開頭,然後接著一個或多個字母組成。
例如...
example.txt
:這是一個文字檔案,副檔名是 .txt
。example.jpg
:這是一個圖片檔案,副檔名是 .jpg
。example.bat
:這是一個批次檔案,副檔名是 .bat
。example.docx
:這是一個 Word 檔案,副檔名是 .docx
(早期是 .doc
)。example.xlsx
:這是一個 Excel 檔案,副檔名是 .xlsx
。簡單來講,副檔名就是在告訴作業系統「這是什麼類型的檔案」,這樣作業系統才會知道要用什麼程式來打開這個檔案。
通常來講副檔名有以下規則:
.txt
、.jpg
、.exe
等等。.JPG
。.
)開頭,然後接著一個或多個字母組成,例如 example.txt
。「但我的電腦看不到副檔名啊!」你可能會這樣問。
這是因為大部分的作業系統都會隱藏副檔名,這樣做的原因是為了避免使用者誤刪除或改變副檔名,而導致檔案無法打開,如果你想要手動打開的話,可以參考以下的方式:
那麼這邊也簡單附上一張副檔名對照表,讓你可以參考一下:
類型 | 副檔名範例 | 說明 |
---|---|---|
文件檔案 | .doc , .docx , .pdf , .txt |
Word、PDF、純文字 |
圖片檔案 | .jpg , .png , .gif , .svg |
各種圖片格式 |
音訊檔案 | .mp3 , .wav , .flac |
音樂檔案,如流行歌曲、錄音檔 |
影片檔案 | .mp4 , .avi , .mov , .mkv |
影片檔案,如電影、短片 |
可執行檔案 | .exe , .bat , |
執行程式、批次檔 |
壓縮檔案 | .zip , .rar , .7z |
壓縮打包的檔案 |
但這邊有件事情要特別說明一下...
「副檔名並不等於檔案的內容」
也就是說,副檔名只是用來告訴作業系統這個檔案是什麼類型的檔案,而並不代表這個檔案的內容。
舉個例子,你可以把一個 example.txt
檔案改成 example.jpg
,接著再點它,作業系統就會嘗試用圖片程式開啟。雖然最後一定會發生錯誤,但這並不代表檔案內容真的變成了圖片。」
所以如果有人跟你說:
「顯示副檔名可以提升安全性」
其實是在跟你說...
「顯示副檔名可以讓你知道這個檔案的類型,讓你決定要不要打開這個檔案」
只是通常我們看到副檔名為 .exe
、.bat
等這類檔案時,我們會特別小心,因為裡面可能包含「惡意程式碼」。
Note
什麼是「惡意程式碼」?簡單來講就是會對你的電腦造成傷害的程式碼,像是病毒、木馬、勒索病毒等等。
在早期,也常見一種惡意手法,叫做『雙副檔名攻擊』。比方說example.jpg.exe
,它真正的副檔名是 .exe
,但名稱裡卻刻意放了 .jpg
,讓人誤以為這是一張圖片,其實點開後跑的卻是可執行檔。」
這邊也分享一個小故事。在早期的 DOS 時代,檔案命名有很嚴格的限制:檔名最多 8 個字母、副檔名最多 3 個字母,這種規則被稱為 8.3 命名規則,也就是「檔名 8 字元 + 副檔名 3 字元」。不過隨著系統演進,這種限制早就成為歷史,現在的檔案名稱最長可以到 255 個字元,連副檔名也能長達 255 個字元,再也不受 8.3 規則綁住了。
這邊提醒大家一件事,也是很多人常有的誤解:以為只要改副檔名,就能改變檔案格式。其實這觀念是錯的,改副檔名只是改了檔案名稱而已,結果只會讓系統用錯的程式去打開,卻完全不會改變檔案的內容喔~
最後這邊來分享幾招如何找出正確的檔案格式吧?
舉例來說,你原本有個檔案叫 example.jpg
,結果被朋友惡作劇改成了 example
,等你過一陣子再回來看,根本不知道它原本是什麼格式,只能硬著頭皮用『猜的』來開。
如果你今天使用的是 Mac 的話,你可以使用 file
指令來查看這個檔案的格式,例如:
file example
這樣就會顯示出這個檔案的格式,例如:
example: JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=11, manufacturer=Apple, model=iPhone 12 Pro Max, orientation=upper-left, xresolution=170, yresolution=178, resolutionunit=2, software=17.0.3, datetime=2024:01:15 17:09:51, hostcomputer=iPhone 12 Pro Max], baseline, precision 8, 4032x3024, components 3
重點就在於 JPEG image data
,這樣就可以知道這是一個 JPEG 圖片檔案。
如果你使用的是 Windows 的話,你可以將它用 記事本
打開,然後查看檔案的內容,通常在檔案的開頭會有一些特定的字元,例如...
<xmpGImg:width>256</xmpGImg:width>
<xmpGImg:height>248</xmpGImg:height>
<xmpGImg:format>JPEG</xmpGImg:format>
我們就可以看到這是一個 JPEG 圖片檔案,但這招只局限於很小的檔案,如果檔案太大的話就無法使用。
所以這邊會建議你使用 Git Bash
並輸入以下指令來查看這個檔案的格式:
file example
那麼,什麼是 Git Bash 呢?其實只要你的電腦有安裝 Git,就會自動附帶安裝 Git Bash。它是一個類似 Linux 的指令列介面,能讓你在 Windows 上直接使用許多 Linux 指令。
這邊還不熟悉 Git 的話也沒關係,我們後面章節有空再來介紹 Git。
老實講,我以前很常幹一件事情,把 example.rar
改成 example
,然後作業系統就無法辨識這個檔案是什麼類型的檔案
這樣當我爸點擊這個檔案時,就會出現「無法開啟這個檔案」的錯誤訊息,他就不會再去嘗試打開這個檔案哩~
最後應該滿多人沒有看過 Yahoo! 即時通的,所以這邊我也剛好翻出一個 Youtube 影片,讓大家一起走進回憶吧!
Ithelp 看不到 iFrame 所以我另外貼在這邊~
https://www.youtube.com/embed/n3XFqNYwYxo?si=NDO5342PJFft6ybm
本文將同步更新至以下網站: