跳至內容

Base64 編碼/解碼

Base64 編碼或解碼——支援標準與 URL-safe 變體,完整 UTF-8 支援。

輸入

這個工具的用途

Base64 把任意位元組轉成 64 個字元組成的 ASCII 字母表,讓資料能安全地穿過 URL、JSON、email 標頭等對原始 binary 不友善的場景。本工具把 UTF-8 文字(或拖入的檔案)編成 Base64,也能把 Base64 解回文字,支援 URL-safe 變體(RFC 4648 §5)。所有運算都在你的瀏覽器內完成——資料不會上傳。

使用步驟

選擇編碼解碼,再選標準URL-safe。貼上輸入、拖入檔案,或載入範例。

編碼範例:

輸入:hello world
輸出:aGVsbG8gd29ybGQ=

解碼範例(URL-safe,無 padding):

輸入:6L6T5YWl5L2g5aW9
輸出:輸入你好

限制與邊界情況

  • 解碼後的位元組必須是合法 UTF-8 才能正確顯示文字。對 PNG 或 zip 解碼會顯示「not valid UTF-8」錯誤——這是工具拒絕把你的資料變成亂碼。
  • 標準變體永遠使用 +/ 與結尾的 = padding。URL-safe 變體則改用 -_,且可省略 padding。解碼會自動容許兩種字母表。
  • 輸入裡的空白與換行會在解碼前被去除(所以 email 裡 MIME 包裝過的 Base64 或 PEM 金鑰都能直接貼上)。
  • 大檔案(> 數 MB)一樣在瀏覽器內處理;非常大的輸入請預期會稍待片刻。

常見問題

我的資料會送到伺服器嗎?
不會。編碼和解碼都完全在你的瀏覽器內進行,本頁從不上傳輸入。
標準和 URL-safe Base64 差在哪?
標準(RFC 4648 §4)使用 + / =。URL-safe(§5)把 + 和 / 換成 - 和 _,所以編出的值可以直接放進 URL 或檔名而不需要再 escape。URL-safe 的 padding 是選擇性的。
為什麼解碼時出現「not valid UTF-8」?
解碼後的位元組不是文字——而是 binary 資料(例如圖片、金鑰、壓縮檔)。Base64 本身沒問題;問題在於底層位元組不是 UTF-8 字串。要處理 binary 請用 Download 按鈕儲存原始位元組。
支援 emoji 和中文字嗎?
支援。輸入會先以 UTF-8 編碼再轉 Base64,所以「你好」、👋 等非 ASCII 字元都能完整往返。
可以拖入檔案編碼嗎?
可以。用 Upload 按鈕或把檔案拖到輸入面板,檔案的位元組會被編成 Base64。
為什麼我的 Base64 字串有時以 == 或 = 結尾,有時沒有?
標準 Base64 會用 = 把輸出補到 4 的倍數。URL-safe Base64 常常省略 padding。解碼器應該兩種都接受——這個工具就是。