跳至主要內容

Base64 文字線上編碼與解碼器

支援標準 Base64 與 URL-Safe 模式,完美相容 UTF-8 繁體中文與多國語系字元

100% 瀏覽器本地端運算:輸入資料與檔案永不上傳伺服器,嚴格保護您的隱私安全。

Base64 文字線上編碼與解碼器

文字編碼 (Encode)
輸入原始文字或 Base64 字串0 字元
轉換結果

Base64 文字編碼技術基礎

Base64 是一種二進位到文字的轉換演算法,主要目的在於使二進位資料能夠安全地經由只支援 ASCII 文字的網路通道(如電子郵件 SMTP 協定、HTTP 標頭或 URL 查詢參數)進行傳輸。

標準 Base64 定義於 RFC 4648,使用 64 個字元集合:

  • 大寫英文字母 A-Z (索引 0-25)
  • 小寫英文字母 a-z (索引 26-51)
  • 阿拉伯數字 0-9 (索引 52-61)
  • 特殊符號 + (索引 62) 與 / (索引 63)
  • 結尾填充符號 = 用於補齊 3 位元組倍數

解決中文與多國語系亂碼問題

在 JavaScript 傳統應用中,內建的 window.btoa() 與 window.atob() 函式僅支援字碼點位於 0 到 255 範圍內的 Latin1 字元。當遇到漢字、日語假名、韓語諺文或特殊 Emoji 符號時,將拋出 InvalidCharacterError 例外。

本工具採用現代標準 TextEncoder 與 TextDecoder API:

  1. 編碼流程:先將字串轉換為標準 UTF-8 Uint8Array 位元組陣列,再以安全映射演算法產生 Base64 字串。
  2. 解碼流程:先將 Base64 字串還原為 UTF-8 位元組序列,再依據 UTF-8 規範正確重組多位元組字元,確保文字 100% 準確無誤。

RFC 4648 URL-Safe 安全模式

當 Base64 字串用於網址參數(Query Parameter)或 JWT Token 酬載時:

  • + 會被部分伺服器誤判為空格。
  • / 會被誤判為網址路徑層級分隔符。
  • = 填充等號可能影響參數解析。

切換至「URL-Safe 模式」時,工具將自動:

  • 將 + 替換為 -(減號)
  • 將 / 替換為 _(底線)
  • 智慧移除結尾的 = 填充符號

操作指南

  1. 選擇作業模式:點擊切換「編碼 (Encode)」或「解碼 (Decode)」。
  2. 設定選項:可依需求勾選「URL-Safe 模式」。
  3. 輸入文字:在上方文字框中鍵入或貼上內容。
  4. 即時檢視結果:下方框即時呈現轉換結果,支援一鍵複製與清空操作。

常見問答

標準 Base64 與 URL-Safe Base64 有何差別?
標準 Base64 使用 + 與 / 字元,在網址 URL 或檔名中可能引起歧義;URL-Safe Base64 將其替換為 - 與 _,並去除末尾填充等號 =,安全適用於網址參數。
為什麼許多 Base64 解碼工具處理中文字元會出現亂碼?
瀏覽器原生 btoa/atob 僅支援 Latin1 (8-bit) 字元集。本工具採用 TextEncoder/TextDecoder 先行轉換為 UTF-8 位元組陣列,徹底解決中文與 Emoji 亂碼問題。
資料會在本地端即時運算嗎?
是的。全站 100% 於瀏覽器端執行,不會將任何文字酬載上傳至遠端伺服器,嚴格保護機密資訊。
Base64 解碼失敗時會出現何種錯誤?
若輸入字串包含非法字元或位元組長度不合規,工具會即時提示「無效的 Base64 格式」,並標示可能缺少填充字元或含有多餘空白。
是否支援去除換行與空白字元進行容錯解析?
支援。解碼器在運算前會自動忽略空格、製表符與換行字元,便於直接貼上帶有排版的 Base64 內容。