使用方式
在 API 回應、設定檔或電子郵件標頭裡看到一長串英數字,想用 Base64 解碼看看裡面寫了什麼,這個頁面不必安裝任何程式就能處理。上方有「編碼」和「解碼」兩個分頁,選好之後把內容貼進輸入框,結果就會立刻顯示在下方。
編碼時可以輸入任何文字,繁體中文、注音符號、日文或表情符號都沒問題。工具內部以 UTF-8 處理,中文不會變成亂碼。解碼時直接貼上手邊的字串即可,中間的空白和換行會自動略過,URL-safe 格式的「-」與「_」也能辨識。如果輸入格式不正確,畫面會顯示明確的錯誤訊息,而不是一堆看不懂的結果。完成後按下複製按鈕,就能把結果放到剪貼簿。
整個轉換過程都在你的瀏覽器裡進行。就算是檢查登入權杖或公司內部資料,也不會傳送到外部伺服器。
Base64 的運作原理
Base64 是一種只用文字字元來表示二進位資料的方法。它把輸入每 3 個位元組(24 位元)分成一組,再切成 4 段各 6 位元。每段 6 位元對應 0 到 63 的數字,接著換成由大寫字母、小寫字母、數字、「+」與「/」組成的 64 個字元之一。最後如果剩下 1 或 2 個位元組,就用「=」補齊長度。
| 輸入 | 位元組數 | Base64 結果 |
|---|---|---|
abc |
3 | YWJj |
中 |
3(UTF-8) | 5Lit |
因為 3 個位元組會變成 4 個字元,編碼後的資料大約比原本多出 33%。中文字在 UTF-8 裡通常佔 3 個位元組,所以一個中文字剛好對應 4 個 Base64 字元。變體 base64url 把「+」改成「-」、「/」改成「_」,而且常常省略「=」,目的是讓結果能直接放進網址或檔名。
請特別注意:Base64 不是加密。它沒有金鑰,也不會隱藏內容,只是把同一份資料換一種寫法。
實用情境與小技巧
Base64 在網頁開發中隨處可見。資料 URI 會在 data:image/png;base64, 後面接上小圖片,直接嵌進 HTML 或 CSS。電子郵件透過 MIME 規格,把附件轉成文字後寄出。由於 JSON 不能直接放二進位資料,很多 API 在傳送檔案時,會把檔案轉成 Base64 字串放進 JSON 酬載。
HTTP 的 Basic 驗證標頭會把「帳號:密碼」寫成 Base64,因為很容易還原,一定要搭配 HTTPS 使用。JWT 則由三段以句點分隔的 base64url 組成,把前兩段解碼就能看到標頭和聲明內容。
分辨的小訣竅:一個字串只包含英文字母、數字和少數符號,而且結尾是「=」或「==」,那它很可能就是 Base64。如果解碼後出現無法閱讀的字元,原始資料大概是圖片之類的二進位檔案。