Base64 是一種基於 64 個可打印字符來表示二進制數據的表示方法。它主要用於在那些只支持文本內容的媒體(如電子郵件、HTML、JSON、XML)中傳輸二進制數據(如圖片、音頻、加密密鑰)。
Base64 使用的 64 個核心字符包括:
A-Z (26個)a-z (26個)0-9 (10個)+ 和 / (2個)= 用作末尾補齊(Padding)。Base64 的核心邏輯是將 3 個 8 位字節(24位) 轉換爲 4 個 6 位字節(24位)。
= 進行填充,這就是爲什麼很多 Base64 字符串以一個或兩個 = 結尾的原因。注意: 經過 Base64 編碼後,數據體積通常會比原始數據增加約 33%。
| 功能類型 | 說明 |
|---|---|
| 文本 Base64 編碼/解碼 | 輸入文本即可即時轉換 |
| 圖片 Base64 編碼/解碼 | 支持 PNG/JPEG/GIF/WebP |
| 音頻/視頻 Base64 編碼 | 支持 MP3/MP4/WAV 等 |
| 任意文件 Base64 編碼 | PDF、ZIP、文檔均可 |
| Base64 還原文件(Blob) | 將 Base64 轉爲可下載的文件 |
| 多端適配 | 支持電腦與手機使用 |
| 純前端運行 | 文件不會上傳到服務器 |
如 PDF、ZIP、DOCX、EXE 等。
操作:
適用於:
在前端開發中,爲了減少 HTTP 請求次數,開發者常將小圖標(Icon)直接轉換爲 Base64 字符串,嵌入到 HTML 或 CSS 中。
background-image: url("data:image/png;base64,iVBORw0KGgoAAA...");早期的電子郵件系統主要基於 ASCII 碼,無法直接傳輸二進制圖片或附件。Base64 將附件轉換爲純文本格式,確保在不同郵件服務器間穩定傳輸。
標準的 Base64 包含 + 和 /,在 URL 傳輸時會被轉義。本站提供的工具支持 URL Safe 模式,將這些符號替換爲 - 和 _,使其無需二次編碼即可直接作爲 URL 參數使用。
在 Web API 接口調用時,如果需要傳輸非文本數據(如 RSA 公鑰、二進制文件流),通常先將其轉換爲 Base64 字符串,嵌套在 JSON 對象中。
Q:Base64 是一種加密方式嗎?
A:不是。 Base64 只是一種編碼方式(Encoding),任何人都可以通過 Base64 解碼工具還原出原始數據。它的目的是爲了“方便傳輸”,而不是“數據保護”。如果需要加密,請使用本站提供的 [AES] 或 [RSA] 加密工具。
Q:Base64 編碼後的數據爲什麼會變大?
A: 因爲 Base64 用 4 個字符來表示原本 3 個字節的數據。每 3 個字節的原始數據會被編碼爲 4 個 Base64 字符,因此體積會固定增長約 1/3。
Q:解碼時出現“非法字符”報錯是什麼原因?
A: 這通常是因爲待解碼的字符串中包含了非 Base64 字符集內的字符(如空格、特殊表情、或是錯誤的換行符)。請確保複製的字符串完整且不包含干擾字符。
Base基礎知識和編碼原理參見: Base64 快速入門:原理、場景、格式和代碼示例.