開發者工具精選2026-05-10

如何使用 Base64 編碼解碼器 – 線上編碼與解碼資料

Base64 編碼是那些幾乎在你使用的每個網頁應用程式背景中無形地存在的技術之一,但很少有開發者完全理解它的運作方式或何時正確使用它。在其核心,Base64 是一種二進位轉文字的編碼方案,將任意二進位資料——圖片、PDF 檔案、音訊位元組、加密輸出——轉換為由 64 個可列印 ASCII 字元組成的字串(A-Z、a-z、0-9、+ 和 /,並以 = 進行填充)。其目的很簡單:許多系統、協定和資料格式設計為僅處理文字,而二進位資料會破壞它們。電子郵件附件透過預期 7 位元 ASCII 文字的 SMTP 伺服器傳輸——Base64 彌補了這個差距。JSON API 無法嵌入原始二進位位元組——Base64 將它們編碼為 JSON 安全的字串。HTML 和 CSS 資料 URI 讓你可以直接將小圖片嵌入標記中,而無需額外的 HTTP 請求——Base64 使這成為可能。我們免費的線上 Base64 編碼器和解碼器處理文字轉 Base64 和 Base64 轉文字兩種轉換,支援上傳檔案來編碼圖片和文件,自動偵測 URL 安全 Base64(將 + 替換為 - 並將 / 替換為 _ 以用於 URL 和檔案名稱),並且每個操作都在你的瀏覽器中執行。零資料上傳到任何伺服器,使其對專有檔案、敏感文件和個人資料安全。但理解 Base64 需要了解它的限制:它是編碼,而非加密(任何人都可以立即解碼),它會將資料大小增加約 33%,且對大於約 1 MB 的檔案不切實際。本文解釋 Base64 實際上是什麼、何時使用它,以及如何避免開發者在使用它時最常犯的錯誤。

code

Base64編碼/解碼

免費 · 無需註冊

免費試用此工具 →open_in_new

分步指南

1

根據你的目標選擇編碼模式或解碼模式

選擇「編碼」分頁將純文字或二進位檔案資料轉換為 Base64 字串。編碼過程接受你的輸入,將其分成 6 位元群組,並根據 Base64 索引表將每個群組對應到 64 個 ASCII 字元之一(A=0, B=1, ..., Z=25, a=26, ..., z=51, 0=52, ..., 9=61, +=62, /=63)。如果輸入長度不是 3 位元組的倍數,會附加一或兩個 = 填充字元,使輸出長度成為 4 個字元的倍數。選擇「解碼」分頁來逆轉這個過程——將 Base64 字串轉換回其原始文字或二進位形式。對於編碼,你可以直接在輸入欄位中輸入或貼上純文字,或上傳檔案(圖片、PDF、文件、音訊檔案等)。檔案使用 FileReader API 在你的瀏覽器中本機讀取,永遠不會傳輸到任何地方。對於解碼,貼上你想要轉換回的 Base64 字串。工具會自動偵測輸入是標準 Base64(使用 + 和 /)還是 URL 安全 Base64(使用 - 和 _),並在無需手動設定的情況下處理兩種變體。

2

提供你的輸入並設定可選設定

如果編碼文字,請在輸入區域中輸入或貼上你的字串——工具接受任何文字,包括 Unicode 字元、表情符號和特殊符號。如果編碼檔案,使用檔案選擇器上傳;工具接受最高 1 MB 的檔案,這是 Base64 編碼的實務上限,因為輸出將比輸入大約 33%。對於解碼,將 Base64 字串貼到輸入欄位中。工具會自動從貼上的字串中剝離任何空白或換行,因此你可以貼上來自其他工具的多行 Base64 輸出而無需預處理。如果你需要 URL 安全輸出(用於 URL、JSON Web Token 或檔案名稱),請啟用 URL 安全切換——這會將標準的 + 字元替換為 -,/ 替換為 _,並可選地省略 = 填充(因為 = 在 URL 查詢字串中具有特殊含義)。輸入和輸出的字元數會即時顯示,讓你可以驗證編碼時預期的 33% 大小增加,並在解碼後的大小符合預期時確認解碼成功。

3

複製輸出或下載解碼後的檔案

編碼後,點擊「複製」將完整的 Base64 字串複製到你的剪貼簿。輸出預設為單一連續字串(無換行),與你從 JavaScript 的 btoa() 函式或 base64 命令列工具獲得的內容一致。對於解碼後的文字輸出,會顯示原始字串並可複製。對於解碼後的二進位檔案(圖片、PDF 等),不要將解碼輸出貼到文字編輯器中——二進位位元組會顯示為亂碼字元。取而代之的是,使用「下載為檔案」按鈕將解碼後的二進位資料儲存為具有正確副檔名的適當檔案。工具在有可用資訊時保留原始 MIME 類型,因此解碼後的 PNG 圖片會下載為 .png 檔案,可在任何圖片檢視器中正確打開。對於處理資料 URI 的開發者,工具可以前置適當的 MIME 類型前綴(例如 data:image/png;base64,),讓你可以將完整的資料 URI 直接複製到 HTML src 屬性或 CSS url() 值中。對於 JWT 檢查,貼上 JSON Web Token 的第二段(第一個和第二個點之間的承載)來解碼並檢查權杖的宣告。

使用技巧與最佳實踐

check_circle

Base64 編碼會將資料大小精確增加 33.3%(4/3 比例)。每 3 位元組的二進位輸入產出 4 位元組的 Base64 輸出。一個 150 KB 的圖片變成 200 KB 的 Base64 字串。對於超過 100 KB 的檔案,大小懲罰幾乎總是超過嵌入的便利性——使用一般檔案 URL 而非資料 URI。

check_circle

Base64 是編碼,而非加密。任何看到 Base64 字串的人都可以立即解碼它——沒有金鑰、密碼或秘密涉及。永遠不要使用 Base64 來保護密碼、API 金鑰或敏感使用者資料。如果安全性很重要,請使用 AES-256-GCM 或類似的認證加密演算法,然後可選地對加密後的二進位輸出進行 Base64 編碼以實現文字安全儲存或傳輸。

check_circle

對於 JWT(JSON Web Token),每個區段(標頭、承載、簽名)都是獨立進行 Base64URL 編碼的。格式是 header.payload.signature,每個部分以點分隔。將中間段貼到我們的解碼器中來檢查權杖的宣告(使用者 ID、過期時間、發行者、範圍),而無需 JWT 函式庫。

check_circle

在 HTML 或 CSS 中以資料 URI 嵌入圖片時,務必指定正確的 MIME 類型:PNG 圖片使用 data:image/png;base64,,JPEG 使用 data:image/jpeg;base64,,SVG 使用 data:image/svg+xml;base64,。不正確的 MIME 類型會導致瀏覽器誤解二進位資料並顯示損壞的圖片。對於 SVG,考慮使用基於文字的 data:image/svg+xml, 格式而非 Base64——它更小且人類可讀。

check_circle

URL 安全 Base64 將 + 字元替換為 -,/ 替換為 _,使編碼後的字串可安全用於 URL、查詢字串參數和檔案名稱,無需百分比編碼。標準的 + 和 / 在 URL 情境中具有特殊含義(+ 在查詢字串中代表空格,/ 是路徑分隔符號)。在將編碼資料嵌入 URL 時,務必使用 URL 安全 Base64。

check_circle

不要對大於 1 MB 的檔案進行 Base64 編碼。超過該閾值,33% 的大小增加加上瀏覽器記憶體開銷會使編碼變慢,並產出長達數十萬個字元的笨重字串。對於大型檔案,改用 multipart/form-data 上傳、直接檔案 URL 或雲端儲存物件 URL。

check_circle

十六進位編碼(Base16)是 Base64 的替代方案,使用 16 個字元(0-9、A-F),會將資料大小加倍(100% 開銷 vs Base64 的 33%)。當你需要二進位資料的緊湊文字表示時使用 Base64。當你需要位元組級別的可讀性進行除錯時使用十六進位——每個位元組恰好變成兩個十六進位字元,使得檢查個別位元組變得容易。

check_circle

Base64 字串末尾的 = 填充字元表示原始資料中最後一個 3 位元組區塊缺少多少位元組。一個 = 表示 2 位元組的填充(輸入比完整區塊少 1 位元組)。兩個 == 表示 4 位元組的填充(輸入比完整區塊少 2 位元組)。沒有 = 的 Base64 字串表示輸入長度恰好能被 3 整除。填充在數學上對解碼是必需的,但在 URL 安全情境中如果解碼器能推斷正確長度則可以省略。

check_circle

在電子郵件系統中,Base64 被 MIME(多用途網際網路郵件擴展)標準用於在基於文字的電子郵件格式中編碼二進位附件。當你將圖片或 PDF 附加到電子郵件時,你的電子郵件客戶端會對檔案進行 Base64 編碼,並將其包裝在 MIME 標頭中,告訴收件者的客戶端原始檔案類型是什麼以及如何解碼它。這與你在帶有 Content-Transfer-Encoding: base64 標頭的原始電子郵件原始碼中看到的 Base64 編碼相同。

常見問題解答

Base64 是一種二進位轉文字的編碼方法,將任意二進位資料(圖片、檔案、位元組)轉換為由 64 個可列印 ASCII 字元組成的字串:大寫字母 A-Z、小寫字母 a-z、數字 0-9,以及符號 + 和 /,並以 = 用於填充。它用於當二進位資料必須透過僅為文字設計的系統傳輸時。最常見的使用案例是:透過資料 URI 直接在 HTML/CSS 中嵌入圖片(避免對小圖示和標誌的額外 HTTP 請求)、在 JSON 和 XML API 承載中編碼二進位資料(因為 JSON 無法容納原始位元組)、透過 MIME 標準將檔案附加到電子郵件(SMTP 伺服器歷史上僅支援 7 位元 ASCII 文字)、在基於文字的資料庫或設定檔中儲存二進位資料,以及編碼 JSON Web Token(JWT)的承載區段。Base64 是通用的——每種程式語言都有內建或函式庫支援——其 64 字元字母表是專門選擇來避免在文字協定中具有特殊含義的字元。

Base64 編碼彌合了二進位資料和純文字系統之間的差距——它驅動著資料 URI、電子郵件附件、JWT 權杖和整個網頁的 API 承載。理解它的機制、限制和安全性影響使你成為更有效的開發者。我們的免費工具以標準和 URL 安全兩種變體處理編碼和解碼,完全在你的瀏覽器中執行,並支援文字和檔案。為你的下一個資料 URI、JWT 檢查或二進位編碼任務將其加入書籤。現在就試試:貼上任何文字或上傳任何檔案,立即看到 Base64 輸出。

免費試用此工具 →open_in_new