使用方法
喺 API 回應、設定檔或者電郵標頭見到一大串英文字母同數字,想 Base64 解碼睇吓入面寫咗乜,用呢個頁面就得,毋須安裝任何軟件。頁面上方有「編碼」和「解碼」兩個分頁,揀好之後把內容貼入輸入框,結果會即時在下方顯示。
編碼時可以輸入任何文字,繁體中文、粵語字如「嘅」「咗」、英文以至 Emoji 都處理得到。工具內部以 UTF-8 運作,中文字不會變成亂碼。解碼時把手上的字串原封不動貼上便可,中間的空格和換行會自動略過,URL-safe 格式的「-」與「_」亦能辨認。輸入格式有誤的話,會見到清楚的錯誤提示,而不是一堆睇唔明的結果。完成後撳複製按鈕,結果就會放入剪貼簿。
所有處理都在你自己的瀏覽器內進行。即使檢查登入憑證或公司內部資料,亦不會傳送到外面的伺服器。
Base64 點樣運作
Base64 是一種只用文字字元去表示二進制資料的方法。它把輸入每 3 個位元組(24 位元)分為一組,再拆成 4 段、每段 6 位元。每段 6 位元等於 0 至 63 之間的一個數字,然後對應到由大楷字母、細楷字母、數字、「+」和「/」組成的 64 個字元。最後若剩下 1 至 2 個位元組,便以「=」補足長度。
| 輸入 | 位元組 | Base64 |
|---|---|---|
abc |
3 | YWJj |
港 |
3(UTF-8) | 5riv |
由於 3 個位元組會變成 4 個字元,編碼後的資料大約比原本大 33%。中文字在 UTF-8 一般佔 3 個位元組,因此一個中文字剛好變成 4 個 Base64 字元。另一個版本 base64url 把「+」換成「-」、「/」換成「_」,而且通常省略「=」,方便直接放入網址或檔案名稱。
要記住:Base64 不是加密。它沒有鎖匙,亦不會隱藏內容,只是把同一份資料用另一套字元寫出來。
實際用途及貼士
做網頁開發經常會遇到 Base64。Data URI 在 data:image/png;base64, 後面接上細小圖片,直接嵌入 HTML 或 CSS。電郵透過 MIME 標準,把附件轉成文字再寄出。JSON 不能直接載入二進制資料,所以不少 API 傳送檔案時,會把檔案轉成 Base64 字串放進 JSON payload。
HTTP Basic 認證標頭會把「用戶名稱:密碼」寫成 Base64,由於好容易還原,一定要配合 HTTPS 使用。JWT 則由三段以句號分隔的 base64url 組成,解碼頭兩段就可以讀到標頭和聲明(claims)內容。
辨認小貼士:如果一串文字只有英文字母、數字和幾個符號,而且以「=」或「==」結尾,好大機會就是 Base64。如果解碼後出現無法閱讀的字元,原本的資料多數是圖片之類的二進制檔案。