Base64 編碼器 / 解碼器
在瀏覽器中即時將文字或檔案編碼為Base64,或解碼Base64字串。免費、私密,無需上傳。
在瀏覽器中即時將文字或檔案編碼為Base64,或解碼Base64字串。免費、私密,無需上傳。
Base64 是一種編碼方案,使用 64 個可列印字元將二進位資料表示為 ASCII 文字:A-Z、a-z、0-9、加號 (+) 和斜線 (/),並使用等號 (=) 進行填入。該格式最初旨在使二進位附件能夠在 7 位元乾淨的電子郵件傳輸中倖存,但如今已擴展到數十種用途:HTML 中的資料 URL、包含圖像資料的 JSON、JWT 有效負載、基本身份驗證標頭以及任何需要攜帶位元組的基於文字的協定。
編碼需要 3 個位元組的輸入並產生 4 個 ASCII 字元的輸出。因此,輸出比輸入長 33%,這是將二進位轉換為文字安全格式的成本。解碼正好反轉該過程,從編碼文字中恢復原始位元組。
此工具可處理兩個方向。編碼模式採用文字輸入(或透過上傳的二進位)並產生 Base64 文字。解碼模式採用 Base64 文字並產生原始文字或可下載的二進位。令牌和識別碼支援 URL 安全變體(使用 - 和 _ 代替 + 和 /)。
Base64 是在純文字上下文中嵌入二進位資料的標準方法。 HTML 中的內嵌圖像使用資料 URL(data:image/png;base64,...),因此小圖示可以隨頁面一起提供,無需單獨的請求。攜帶圖像、憑證或簽署的 JSON 有效負載將它們編碼為 base64 字串。 JWT 令牌是三個以點分隔的 Base64 編碼段。
Base64 也規範了錯誤處理 8 位元二進位的協定的字元處理。驗證標頭(基本驗證使用 Base64)、電子郵件附件、包含金鑰的設定檔以及許多 API 都需要 Base64,因為二進位檔案無法可靠地通過其管道。
貼上數據,選擇方向。
Base64 將每 6 位元輸入對應到 64 個輸出字元之一。三個輸入位元組(24 位元)產生四個輸出字元。當輸入長度不是 3 的倍數時,編碼器會附加一到兩個等號以將輸出填滿為 4 個字元的倍數。
URL 安全的 base64(在 RFC 4648 第 5 節中定義)將 + 替換為 - 並將 / 替換為 _,以產生可在 URL 和檔案名稱中安全使用的字串,而無需進一步轉義。在 URL 安全性上下文中,填充等號有時會被省略;解碼器通常接受這兩種形式。
JavaScript 的 btoa 和 atob 直接處理 ASCII,但無法處理非 ASCII 字串。對於 UTF-8 文本,轉換器使用 TextEncoder/TextDecoder 在文字和二進位之間進行轉換,然後對二進位進行 Base64 編碼。這可以正確處理表情符號、重音字元和非拉丁腳本。