什麼是Base64 編碼解碼?
Base64 是只用 A–Z、a–z、0–9、+、/ 這 64 個字元來表示圖片、檔案等二進位資料的編碼方式,常見於電子郵件附件、直接把圖片寫進 HTML/CSS 的 Data URL、JWT 權杖和 API 驗證標頭。
這個工具以 UTF-8 處理中文,結果和各種程式語言完全相同。檔案轉換也只在瀏覽器中進行,不會上傳到伺服器。
使用方法
- 在文字分頁選擇編碼或解碼,在輸入框輸入內容,結果會立刻出現。
- 如果要放進網址或檔名,請開啟 URL-safe:+ 和 / 會換成 - 和 _,結尾的 = 會省略。
- 解碼結果是圖片或檔案時,會顯示預覽和存成檔案按鈕。
- 在檔案・圖片分頁,可以把檔案轉成 Data URL、CSS 或 img 標籤,也能把 Base64 字串存回檔案。
Base64 不是加密
Base64 只是任何人都能立刻還原的表示方式,並不會隱藏內容。只把密碼或個人資料轉成 Base64 就儲存或傳送並不安全。要保護內容請使用 AES 等加密,要檢查是否被竄改則使用 SHA-256 等雜湊。
大小與格式差異
| 項目 | 說明 |
|---|---|
| 大小 | 原本 3 位元組會變成 4 個字元,約增加 33% |
| 填充(=) | 為了讓長度成為 4 的倍數,結尾會補 0~2 個 |
| URL-safe | + → -、/ → _,通常省略 =(JWT、RFC 4648 §5) |
| Data URL | 以 data:image/png;base64,… 形式直接寫進 HTML、CSS |
中文字在 UTF-8 中每字 3 位元組,轉成 Base64 是 4 個字元。例如「中文」是 5Lit5paH。
常見問題
解碼後中文變成亂碼。
原始資料可能是用 Big5 而不是 UTF-8 編碼的。這個工具以 UTF-8 解讀,無法以 UTF-8 讀取的資料會判斷為二進位資料,並提示存成檔案。
把圖片轉成 Base64 放進網頁好嗎?
像圖示這種很小的圖片(幾 KB)可以減少請求數;但大圖片會變大 33%,也不容易快取,反而會變慢。一般建議只用在 10KB 以下的圖片。
夾雜換行或空白的 Base64 也能解碼嗎?
可以。空白和換行會自動忽略,URL-safe 字元(-、_)和省略的填充(=)也會自動處理。
檔案大小有限制嗎?
轉換是在瀏覽器記憶體中進行,所以檔案轉 Base64 支援到 50MB。