tigtools

Base64 編碼/解碼器

將文字或任何檔案轉成 Base64,也可將 Base64 解碼還原為可讀文字或原始檔案。可正確處理重音字元、表情符號和二進位資料。

在瀏覽器中執行 免註冊

輸入類型
轉換方向

使用方式

  1. 在上方選擇「文字」或「檔案」。
  2. 處理文字時,選擇轉換方向,再輸入或貼上內容。結果會隨您輸入即時更新。
  3. 要編碼檔案,請選取或拖放檔案(上限 10 MB)。若要將結果嵌入 HTML 或 CSS,請勾選「輸出為 data URL」。
  4. 要將 Base64 還原成檔案,請選擇「Base64 → 文字」、貼上資料,然後點選「下載為檔案」。

運作方式

Base64 使用 64 個可列印的 ASCII 字元表示二進位資料:A–Z、a–z、0–9、+ 和 /。每 3 個位元組會轉換成 4 個字元,因此編碼後的內容約比原始資料大 33%。如果輸入長度不是 3 的倍數,輸出會以一個或兩個 = 符號補齊。

Base64 是編碼方式,不是加密。任何人都能在沒有金鑰的情況下解碼,因此絕不可用來隱藏密碼或個人資料。它的用途是讓二進位資料能透過以文字為基礎的系統傳輸,例如電子郵件(MIME)、JSON、XML、HTTP 標頭和資料 URL。

文字會先轉換成 UTF-8 位元組,因此 ASCII 以外的字元也能正確編碼。這點很重要,因為瀏覽器內建的 btoa 函式無法處理 é 或表情符號等字元。解碼時,工具會檢查結果是否為有效的 UTF-8;若不是,資料便是二進位內容,工具會以十六進位格式顯示,而非顯示成亂碼。

URL 安全版本(base64url,RFC 4648 第 5 節)會將 + 換成 -、將 / 換成 _,並通常省略 = 補位,因為這些字元在 URL 中有特殊用途。此格式用於 JSON Web Token 和許多網頁 API。MIME 換行格式(RFC 2045)會將輸出分成每行最多 76 個字元;部分電子郵件系統和 PEM 憑證檔案需要這種格式。

在安全的情況下,解碼會採取較寬鬆的處理方式:略過空白和換行、補上缺少的補位,並接受兩種字元表。若出現其他問題,例如多出的字元或出現在中間的補位,工具會指出其位置,不會默默忽略。

範例

編碼含重音符號和表情符號的文字

“Grüße 👋”會轉換成 R3LDvMOfZSDwn5GL。ü 和 ß 各占 2 個 UTF-8 位元組,表情符號則占 4 個,因此 7 個字元會轉換成 12 個位元組和 16 個 Base64 字元。

建立 HTTP Basic Authorization 標頭

使用者名稱為 “alice”、密碼為 “s3cret” 時,將 alice:s3cret 編碼為 YWxpY2U6czNjcmV0,並傳送標頭 Authorization: Basic YWxpY2U6czNjcmV0。由於 Base64 不是加密,Basic 驗證只能透過 HTTPS 使用。

從資料 URL 還原檔案

將 data:image/png;base64,iVBORw0KGgo… 這類字串貼到 Base64 → Text。工具會移除前綴、辨識出 PNG 資料,並因其不是文字而顯示十六進位檢視;按一下「下載為檔案」即可儲存 decoded.png。

常見問題

Base64 是一種加密方式嗎?

不行。Base64 是可逆的編碼方式,不需要金鑰或密碼。任何人只要看到 Base64 字串,就能立即解碼,因此絕不可依賴它來保護密碼、權杖或個人資訊。

為什麼我在其他工具中解碼後會看到奇怪的字元?

通常是因為文字以 UTF-8 編碼,卻用 Latin-1 解碼(或反過來)。這個工具一律使用 UTF-8,並會在解碼後的位元組不是有效的 UTF-8 文字時提醒您。

Base64 和 base64url 有什麼不同?

兩者使用相同的方法,但 base64url 會將 + 換成 -、將 / 換成 _,並通常省略 = 填充,因此結果可直接用於 URL 和檔名,無須再跳脫字元。這個解碼器支援這兩種格式。

為什麼 Base64 輸出比原始檔案大?

Base64 會將每 3 個位元組轉成 4 個字元,大小因此增加約 33%。每 76 個字元換行時,還會多出 2 個字元(CRLF)。大型圖片通常直接提供檔案會比嵌入為 data URL 更好。

有大小限制嗎?

檔案大小上限為 10 MB。貼上的文字沒有固定上限,但輸入內容非常大(數十 MB)時,可能會讓頁面變慢,手機上尤其明顯。

隱私權

編碼和解碼都在您的瀏覽器中進行。文字和檔案絕不會上傳或儲存,內容也不會納入分析資料。下載檔案會直接在您的裝置上建立。