生活中的電機工程 · 第 03 篇

照片與聲音,為什麼都能變成 0 與 1?

從 Base64 認識數位世界的秘密

一張照片、一段錄音,甚至影片,都能變成字串再還原。電腦到底是怎麼知道該顯示圖片還是播放聲音?

一、電腦如何理解 0 與 1?

電腦以二進位處理與儲存資訊。例如 ASCII 編碼中的英文字母 A,對應十進位 65,也就是八位元的 01000001。

同樣一組位元,當作整數解讀會得到 65;按 ASCII 解讀則顯示 A。資料不變,意義取決於人類制定的編碼規則。

電腦螢幕上的十六進位數字,用於說明數位資料的表示
電腦螢幕上的十六進位數字,用於說明數位資料的表示

二、照片為什麼是數字?

數位影像由許多像素組成。常見 RGB 表示法用紅、綠、藍三個數值描述色彩:例如(255, 0, 0)表示紅色。

實際 JPG 圖檔還會經過壓縮,並非單純依序儲存每個像素。程式必須依照正確的格式解碼,才能顯示影像。

彩色螢幕 RGB 子像素的微距實拍
彩色螢幕 RGB 子像素的微距實拍

三、聲音如何變成數位資料?

聲音是空氣的壓力振動。麥克風把聲波轉為電訊號,類比數位轉換器(ADC)定時取樣,產生數位資料。常見 CD 音訊每秒對每個聲道取樣 44,100 次。

播放時,音訊先解碼,再透過數位類比轉換(DAC)等電路驅動喇叭,重新產生聲波。也就是:聲波 → 電訊號 → 數位資料 → 電訊號 → 聲波。

電腦錄音剪輯軟體顯示的音訊波形
電腦錄音剪輯軟體顯示的音訊波形

四、Base64 如何把檔案變成字串?

Base64 將二進位資料每六個位元一組,轉成 64 種基本字元,必要時使用等號補位。英文 Hello 編碼之後是 SGVsbG8=;解碼便可還原。

照片、聲音與影片也能如此處理,因為底層都是位元組。但 Base64 不是壓縮,資料量通常反而增加約三分之一;也不是人工智慧,不會描述照片內容或把錄音變成逐字稿。

iPhone 上的 Base64 Encoder 工具畫面
iPhone 上的 Base64 Encoder 工具畫面

五、電腦怎麼知道該播聲音還是顯示圖片?

答案在檔案格式與解碼器。JPG、PNG 是影像格式;MP3、WAV 是音訊格式;MP4 是常見的多媒體容器。許多格式具有檔案簽章與固定結構。

即使把 photo.png 改名為 photo.mp3,也不會讓照片成為音樂。程式必須依照檔案內容和格式規範正確解讀。

數位世界最奇妙的地方,不只是萬物能表示成 0 與 1,而是人類創造了一套套規則,讓這些數字重新成為文字、影像和聲音。