跳至主要內容
Lizely

Base64 編碼 / 解碼

立即在瀏覽器中編碼或解碼 Base64,完整支援 UTF-8 — 表情符號和重音字元都能使用。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.選擇一個方向:編碼(文字 → Base64)或解碼(Base64 → 文字)。
  2. 2.輸入文字或貼上內容 — 結果會即時更新至下方的輸出方塊中。
  3. 3.點選複製來取得結果,或點選交換方向直接將結果反向傳回。

關於Base64 編碼 / 解碼

Base64 將任意位元組轉換為安全的 64 字元字母表(A–Z、a–z、0–9,加上 + 和 /),以便二進位資料能透過只接受文字的通訊渠道傳輸。這個工具完全遵循 RFC 4648 標準,包括 '=' 填充規則,並在你輸入時即時轉換 — 不需要按按鈕,也不會將資料傳送到伺服器。

大多數工具會搞錯的是 Unicode。瀏覽器內建的 btoa() 只接受拉丁-1 字元(碼點 0–255),因此只要一輸入 café、你好 或 😀,就會出現錯誤。這個編碼器正確解決這個問題:它先使用 TextEncoder 將你的文字轉換為 UTF-8 位元組,然後對這些位元組應用 Base64。解碼則反向進行,並使用嚴格的 UTF-8 解碼器驗證結果,因此錯誤的輸入會被捕捉,而不是產生靜默的垃圾資料。

為何填充很重要:Base64 將三個輸入位元組(24 位)轉換為四個 6 位字元。當輸入長度不是三的倍數時,輸出會用一個或兩個 '=' 符號進行填充 — 這就是為何 'f' 會變成 'Zg==',而 'foobar' 會變成 'Zm9vYmFy'。正確的填充確保編碼後的長度是四的倍數,這是每個符合標準的解碼器預期的。

你會經常遇到 Base64:資料 URI 會在 HTML 和 CSS 中直接嵌入圖片或字型,電子郵件附件(MIME),JSON Web Token(JWT)的三個點分隔段,基本 HTTP 身分驗證標頭,以及攜帶二進位物件作為 JSON 字串的 API 載荷。請注意,Base64 是一種編碼,不是加密 — 它不提供任何隱密性,只提供將位元組安全傳輸為文字的手段。

因為所有轉換都在你的瀏覽器上使用 Web 加密時代的標準 API 進行,你的文字從來不會離開你的裝置。這使得你可以安全地貼上令牌、配置片段或私人資料,而不必擔心它被記錄或上傳到任何地方。

方法與來源

遵循 RFC 4648 §4 標準的 Base64 字母與補碼規則。文字會先透過 TextEncoder 編碼為 UTF-8 位元組,再進行 Base64(避免 btoa 的拉丁字母 1 限制);解碼時會使用嚴格模式(fatal:true)的 UTF-8 解碼器驗證位元組流,使無效輸入被拒絕而非靜默損壞。編碼採用位元組對位元組的方式實現,以處理大型輸入而避免堆疊溢位。

常見問題

這個工具支援表情符號、中文和帶重音的字元嗎?
支援。與瀏覽器的原始 btoa() 不同,這個工具會先將文字編碼為 UTF-8 位元組,因此 café、你好 和 😀 都能正確編碼與解碼,而不會出現錯誤。
為何我的 Base64 結尾會有 = 或 ==?
這些是填充字元。Base64 會將三個位元組編碼為四個字元,因此當輸入長度不是三的倍數時,會加入一個或兩個 = 符號以確保輸出為四的倍數,這符合 RFC 4648 的要求。
Base64 是一種加密方式嗎?
不是。Base64 是一種可逆轉的編碼方式,用來安全地將二進位資料透過純文字通道傳輸。任何人都可以解碼,因此它不提供保密性 — 不要使用它來保護密碼或機密資料。

編碼與加密 使用指南

查看全部