點樣使用 Base64 編碼解碼器 – 網上編碼同解碼數據
Base64 編碼係嗰種幾乎喺你使用嘅每個網頁應用程式背景中隱形存在嘅技術,但好少開發人員完全理解佢點樣運作或者幾時正確使用佢。喺佢嘅核心,Base64 係一種二進制轉文字編碼方案,將任意二進制數據——圖片、PDF 檔案、音頻位元組、加密輸出——轉換成由 64 個可列印 ASCII 字元組成嘅字串(A-Z、a-z、0-9、+ 同 /,用 = 做填充)。目的好簡單:好多系統、協議同數據格式被設計成只能處理文字,而二進制數據會整壞佢哋。電郵附件通過期望 7-bit ASCII 文字嘅 SMTP 伺服器傳輸——Base64 填補咗呢個缺口。JSON API 冇辦法嵌入原始二進制位元組——Base64 將佢哋編碼成 JSON 安全字串。HTML 同 CSS 數據 URI 俾你直接喺標記中嵌入小型圖片,而唔需要額外嘅 HTTP 請求——Base64 令呢個成為可能。我哋嘅免費網上 Base64 編碼器同解碼器處理文字轉 Base64 同 Base64 轉文字轉換,支援為編碼圖片同文件而上傳檔案,自動偵測 URL 安全 Base64(佢將 + 替換為 - 並將 / 替換為 _ 以便喺 URL 同檔名中使用),並且每個操作都完全喺你嘅瀏覽器中執行。零數據被上傳到任何伺服器,令佢對於專有檔案、敏感文件同個人數據嚟講係安全嘅。但理解 Base64 需要知道佢嘅限制:佢係編碼,而唔係加密(任何人都可以即刻解碼佢),佢會將數據大小增加約 33%,而且對於大過約 1 MB 嘅檔案嚟講係不切實際嘅。呢篇文章解釋咗 Base64 實際上係咩、幾時使用佢、同埋點樣避免開發人員最常犯嘅錯誤。
Base64編碼/解碼
免費 · 無需註冊
分步指南
根據你嘅目標揀選編碼模式或解碼模式
選擇「編碼」標籤將純文字或二進制檔案數據轉換成 Base64 字串。編碼過程會攞你嘅輸入,將佢分成 6-bit 群組,並根據 Base64 索引表(A=0, B=1, ..., Z=25, a=26, ..., z=51, 0=52, ..., 9=61, +=62, /=63)將每個群組映射到 64 個 ASCII 字元之一。如果輸入長度唔係 3 個位元組嘅倍數,會附加一個或兩個 = 填充字元,令輸出長度變成 4 個字元嘅倍數。選擇「解碼」標籤將過程逆轉——將 Base64 字串轉換返去其原始文字或二進制形式。對於編碼,你可以直接喺輸入欄位中輸入或貼上純文字,或者上傳一個檔案(圖片、PDF、文件、音頻檔案等等)。檔案會使用 FileReader API 喺你嘅瀏覽器中本地讀取,永遠唔會被傳輸到任何地方。對於解碼,貼上你想要轉換返去嘅 Base64 字串。工具會自動偵測輸入係標準 Base64(使用 + 同 /)定係 URL 安全 Base64(使用 - 同 _),並處理兩種變體而唔需要手動設定。
提供你嘅輸入並設定可選選項
如果編碼文字,喺輸入區域中輸入或貼上你嘅字串——工具接受任何文字,包括 Unicode 字元、表情符號同特殊符號。如果編碼檔案,使用檔案選擇器上傳;工具接受高達 1 MB 嘅檔案,呢個係 Base64 編碼嘅實際上限,因為輸出將會大約比輸入大 33%。對於解碼,將 Base64 字串貼上到輸入欄位。工具會自動從貼上嘅字串中剷走任何空白或換行,所以你可以貼上嚟自其他工具嘅多行 Base64 輸出而唔需要預處理。如果你需要 URL 安全輸出(用於 URL、JSON Web Tokens 或檔名),啟用 URL 安全切換——呢個會將標準嘅 + 字元替換為 -,將 / 替換為 _,並可選咁省略 = 填充(因為 = 喺 URL 查詢字串中有特殊含義)。輸入同輸出嘅字元數會即時顯示,等你可以喺編碼時驗證預期嘅 33% 大小增加,並喺解碼後嘅大小符合預期時確認解碼成功。
複製輸出或下載解碼後嘅檔案
編碼之後,點擊「複製」將完整嘅 Base64 字串複製到你嘅剪貼簿。輸出預設係一個單一連續字串(冇換行),同你從 JavaScript 嘅 btoa() 函數或 base64 命令列工具得到嘅一致。對於解碼後嘅文字輸出,原始字串會被顯示並且可複製。對於解碼後嘅二進制檔案(圖片、PDF 等等),唔好將解碼輸出貼上到文字編輯器——二進制位元組會顯示為亂碼字元。改為使用「下載為檔案」按鈕,將解碼後嘅二進制數據儲存為一個帶有正確副檔名嘅適當檔案。工具喺可用嗰陣會保留原始 MIME 類型資訊,所以解碼後嘅 PNG 圖片會下載做一個 .png 檔案,可以喺任何圖片檢視器中正確打開。對於處理數據 URI 嘅開發人員,工具可以喺前面加上適當嘅 MIME 類型前綴(例如 data:image/png;base64,),等你可以將完整嘅數據 URI 直接複製到 HTML src 屬性或 CSS url() 值中。對於 JWT 檢查,貼上一個 JSON Web Token 嘅第二段(第一個點同第二個點之間嘅 payload),以解碼並檢查權杖嘅聲明。
使用技巧與最佳實踐
Base64 編碼會將數據大小增加精確嘅 33.3%(4/3 比率)。每 3 個位元組嘅二進制輸入會產生 4 個位元組嘅 Base64 輸出。一個 150 KB 嘅圖片會變成一個 200 KB 嘅 Base64 字串。對於超過 100 KB 嘅檔案,大小懲罰幾乎永遠超過嵌入嘅便利性——使用常規檔案 URL 而唔係數據 URI。
Base64 係編碼,而唔係加密。任何睇到 Base64 字串嘅人都可以即刻解碼佢——冇金鑰、密碼或秘密涉及。永遠唔好用 Base64 嚟保護密碼、API 金鑰或敏感用戶數據。如果安全性好重要,使用 AES-256-GCM 或類似嘅認證加密演算法,然後可選咁將加密後嘅二進制輸出做 Base64 編碼,以便進行文字安全嘅儲存或傳輸。
對於 JWT(JSON Web Tokens),每個部分(標頭、payload、簽名)都係獨立用 Base64URL 編碼嘅。格式係 header.payload.signature,每個部分用點分隔。將中間段貼上到我哋嘅解碼器,就可以喺唔需要 JWT 庫嘅情況下檢查權杖嘅聲明(用戶 ID、到期時間、發行者、範圍)。
喺 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——佢更細而且人類可讀。
URL 安全 Base64 會將 + 字元替換為 -,將 / 替換為 _,令編碼後嘅字串可以安全咁用於 URL、查詢字串參數同檔名,而唔需要百分比編碼。標準嘅 + 同 / 喺 URL 語境中有特殊含義(+ 喺查詢字串中代表空格,/ 係路徑分隔符)。當喺 URL 中嵌入編碼數據嗰陣,永遠使用 URL 安全 Base64。
唔好將大過 1 MB 嘅檔案做 Base64 編碼。超過嗰個門檻,33% 嘅大小增加加上瀏覽器記憶體開銷會令編碼變慢,並產生長達數十萬字元嘅笨重字串。對於大型檔案,改用 multipart/form-data 上傳、直接檔案 URL 或雲端儲存物件 URL。
十六進制編碼(Base16)係 Base64 嘅一個替代方案,使用 16 個字元(0-9, A-F),並將數據大小翻倍(100% 開銷 vs Base64 嘅 33%)。當你需要二進制數據嘅緊湊文字表示嗰陣用 Base64。當你需要位元組級別可讀性嚟除錯嗰陣用十六進制——每個位元組會變成精確兩個十六進制字元,令檢查個別位元組變得容易。
Base64 字串結尾嘅 = 填充字元表示原始數據中最後一個 3 位元組區塊缺少咗幾多個位元組。一個 = 表示 2 個位元組嘅填充(輸入比完整區塊少 1 個位元組)。兩個 == 表示 4 個位元組嘅填充(輸入比完整區塊少 2 個位元組)。冇 = 嘅 Base64 字串其輸入長度係精確可被 3 整除嘅。填充喺數學上係解碼所需嘅,但喺 URL 安全語境中可以省略,如果解碼器可以推斷出正確長度嘅話。
喺電郵系統中,Base64 被 MIME(多用途互聯網郵件擴展)標準用於喺基於文字嘅電郵格式中編碼二進制附件。當你將一張圖片或 PDF 附加到電郵嗰陣,你嘅電郵客戶端會將檔案做 Base64 編碼,並將其包裝喺 MIME 標頭中,話俾收件人嘅客戶端知原始檔案類型係咩同點樣解碼佢。呢個就係你喺原始電郵原始碼中見到帶有 Content-Transfer-Encoding: base64 標頭嘅相同 Base64 編碼。
常見問題解答
Base64 編碼填補咗二進制數據同純文字系統之間嘅鴻溝——佢為網上嘅數據 URI、電郵附件、JWT 權杖同 API 負載提供動力。理解佢嘅機制、限制同安全含義會令你成為一個更有效嘅開發人員。我哋嘅免費工具處理標準同 URL 安全變體嘅編碼同解碼,完全喺你嘅瀏覽器中運行,並支援文字同檔案。為你嘅下一個數據 URI、JWT 檢查或二進制編碼任務加入書籤。即刻試下:貼上任何文字或上傳任何檔案,即刻睇到 Base64 輸出。
免費試用此工具 →open_in_new