Base64 編碼/解碼
將純文字編碼為 Base64 或將 Base64 解碼回純文字。自動偵測哪個方向。僅限瀏覽器 - 您的文字永遠不會離開頁面。
Hello World → SGVsbG8gV29ybGQ=
將純文字編碼為 Base64 或將 Base64 解碼回純文字。自動偵測哪個方向。僅限瀏覽器 - 您的文字永遠不會離開頁面。
Hello World → SGVsbG8gV29ybGQ=
Base64 使用 64 個字元的字母(A–Z、a–z、0–9、+、/)將二進位資料編碼為 ASCII 文字。它將輸入擴展了約 33%,但產生的輸出可以在電子郵件、URL、JSON 和任何純文字傳輸中保留。
該工具會自動偵測方向:如果輸入看起來像有效的 Base64 字串,它就會解碼;如果輸入看起來像有效的 Base64 字串,它就會解碼;否則它會編碼。
Base64 編碼將二進位資料對應到 64 個字元的字母表(A–Z、a–z、0–9、+、/),如下所示 RFC 4648。輸入文字首先被編碼為 UTF-8 位元組。這些位元組被分組為 24 位元區塊,每個區塊分為四個 6 位元值 (2^6 = 64) 並映射到字母表。如果最後一個區塊少於 24 位,則用零位填充,並用「=」字元填充輸出以保持 4 個字元的倍數。此工具自動偵測操作:如果輸入與有效 Base64 的模式相符(字母字元和適當的填充長度),它會嘗試解碼;否則,它會進行編碼。所有處理完全發生在使用 JavaScript 原生的瀏覽器中 btoa 和 atob 函數,使用 UTF-8 位元組轉換器進行擴展以處理非 ASCII 字元。
以下是該工具與常見命令列和程式設計替代方案的比較。
| 這個工具 | Python base64 模組 | Node.js 緩衝區 | |
|---|---|---|---|
| 輸入方便 | 貼上並單擊,無需設置 | 需要編寫腳本 | 需要 Node.js 運行時 |
| UTF-8 處理 | 透過瀏覽器自動 | 手動編碼為位元組 | 原生支援 |
| 可用性 | 任何現代瀏覽器,無需安裝 | 需要Python環境 | 需要Node.js環境 |
Base64 編碼首次在 20 世紀 80 年代末引入電子郵件,作為 MIME(多用途互聯網郵件擴展)規範(RFC 1341,後來的 RFC 2045)的一部分。它旨在透過 SMTP 等純文字協定可靠地傳輸二進位數據,該協定可能會損壞非 ASCII 字元。名稱「Base64」反映了它使用 64 個字元的字母表。該編碼後來在許多其他環境中採用,包括資料 URI、XML 和 JSON Web 令牌 (JWT)。
data:image/png;base64,... URI 可讓您直接在 HTML 或 CSS 中內嵌圖片。該工具對位元組進行編碼;將它們貼在前綴之後。
基本驗證(「授權:基本」)需要 Base64 編碼的「user:pass」字串。在貼上到請求標頭之前對您的憑證進行編碼。
JSON Web 令牌是由點分隔的三個 Base64 編碼部分。解碼中間部分以讀取聲明(標頭和簽名的工作方式相同)。
電子郵件附件在 MIME 部分內進行 Base64 編碼。將原始電子郵件來源貼到解碼器中會顯示原始內容。
需要透過 JSON API 發送二進位內容? Base64 編碼;在接收端解碼。
不,它是編碼——任何人都可以解碼它。這是為了交通,不是為了安全。為了保護數據,請在編碼之前加密。
Base64 輸出被填滿為 4 個字元的倍數。 = 是填充字元——根據需要添加一兩個。
如果輸入僅為 Base64 字母字元且長度是 4 的倍數,則該工具會嘗試解碼。如果解碼產生有效的 UTF-8,則獲勝。否則它會編碼。
是的。此工具為非 ASCII 輸入編碼 UTF-8 位元組。大多數其他 Base64 工具無法處理表情符號或重音字母;我們可以正確處理它們。