跳到正文
馬克工具箱

Base64 編碼解碼

把文字或任意檔案轉換成 Base64,或把 Base64 還原成文字和原始檔案。正確處理中文等 UTF-8 字元,支援 JWT 使用的 URL 安全變體,全部在瀏覽器本地完成。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

使用步驟

  1. 選擇「編碼」或「解碼」。
  2. 編碼時輸入文字,或切換到「檔案」選擇任意檔案,比如圖片、PDF、字型。
  3. 按需勾選 URL 安全字元、填充、data URL 輸出等選項。
  4. 複製結果;解碼出圖片等二進位制資料時,可以直接下載為檔案。

引數說明

URL 安全
把 + 和 / 替換為 - 和 _(RFC 4648 §5),結果可以直接放進網址和檔名。JWT 使用這種格式且不帶填充。
填充
在末尾補 = 使長度為 4 的倍數。有的系統要求必須有,有的(如 JWT)不帶。解碼時兩種都能辨識。
每 76 個字元換行
按 76 個字元一行輸出,這是電子郵件(MIME)和 PEM 證書檔案要求的格式。
Data URL
輸出 data:image/png;base64,… 形式,可以直接貼上到 HTML 或 CSS 中作為圖片地址。

示例

輸入 Base64
hello aGVsbG8=
hello(URL 安全,無填充) aGVsbG8
你好 5L2g5aW9
位元組 FB FF BF +/+/(標準)或 -_-_(URL 安全)

解碼 JWT 的載荷

JWT 由三段用點分隔的內容組成,中間一段是不帶填充的 URL 安全 Base64,貼上到「解碼」即可看到其中的欄位。注意這裡不校驗簽名,能解碼不代表這個 Token 可信。

常見問題

Base64 是加密嗎?

不是。Base64 只是用 64 個可列印字元表示位元組的編碼方式,任何人都能還原。不要用它來隱藏密碼或金鑰。

為什麼 Base64 比原文長?

每 3 個位元組會變成 4 個字元,所以體積大約增加 33%;開啟換行時還要再加上換行符。

為什麼解碼出來是亂碼,或提示是二進位制資料?

這段 Base64 裡的內容不是 UTF-8 文字,通常是圖片、壓縮檔或加密資料。請點「下載解碼後的檔案」,工具會辨識常見圖片格式並自動命名副檔名。

怎麼把圖片嵌入 CSS 或 HTML?

切換到「檔案」,勾選「輸出為 data URL」,選擇圖片,把結果貼上到 src="…" 或 url(…) 裡。適合小圖示,大圖會拖慢頁面。

中文會亂碼嗎?

不會。文字會先轉成 UTF-8 位元組再編碼,結果與 Python 的 base64.b64encode(s.encode()) 或 Java 的 Base64.getEncoder().encodeToString(s.getBytes(UTF_8)) 一致。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具