首頁/部落格/Base64 編碼完全指南:原理、用途與常見問題解答
教學

Base64 編碼完全指南:原理、用途與常見問題解答

深入了解 Base64 編碼的原理、為什麼需要它、常見的應用場景以及效能考量。適合前端、後端開發者和 API 設計者。

奧特線上工具2026/2/136 分鐘閱讀1 次瀏覽
Base64 編碼完全指南:原理、用途與常見問題解答

Base64 編碼完全指南

什麼是 Base64?

Base64 是一種將二進位數據轉換為 ASCII 字串的編碼方式。它使用 64 個可列印字元(A-Z、a-z、0-9、+、/)來表示二進位數據,並使用 = 作為填充字元。

為什麼需要 Base64?

許多傳輸協定(如 HTTP、SMTP)最初設計為處理文字數據。當需要在這些協定中傳輸二進位數據(如圖片、檔案)時,Base64 提供了一種安全的編碼方式。

常見使用場景

  1. 電子郵件附件:MIME 標準使用 Base64 編碼附件
  2. Data URI:在 HTML/CSS 中嵌入小型圖片
  3. API 傳輸:在 JSON 中傳輸二進位數據
  4. HTTP Basic Auth:使用者名稱和密碼的編碼
  5. JWT Token:Header 和 Payload 的編碼

編碼原理

Base64 將每 3 個位元組(24 位元)分成 4 組,每組 6 位元,對應到 64 個字元中的一個:

原始數據:  M        a        n
二進位:    01001101 01100001 01101110
分組(6位): 010011 010110 000101 101110
Base64:    T      W      F      u

編碼範例

javascript
// JavaScript
const encoded = btoa("Hello World"); // "SGVsbG8gV29ybGQ="
const decoded = atob("SGVsbG8gV29ybGQ="); // "Hello World"

// Node.js
const buf = Buffer.from("Hello World");
const encoded = buf.toString("base64"); // "SGVsbG8gV29ybGQ="

Base64 vs Base64URL

標準 Base64 使用 +/,這在 URL 中會造成問題。Base64URL 將它們替換為 -_:_

特性Base64Base64URL
字元 62+-
字元 63/_
填充使用 =可省略
用途一般編碼URL、JWT

效能考量

Base64 編碼會使數據大小增加約 33%(3 位元組變 4 位元組)。因此:

  • 不適合大型檔案的傳輸
  • 適合小型數據(如圖示、設定值)
  • Data URI 中的圖片建議不超過 5KB

常見問題

Base64 是加密嗎?

不是。Base64 只是編碼,任何人都可以解碼。不要用它來保護敏感資訊。

為什麼 Base64 字串結尾有 =?

= 是填充字元。當原始數據長度不是 3 的倍數時,需要填充:

  • 餘 1 位元組:加 ==
  • 餘 2 位元組:加 =

實用工具推薦

使用我們的 Base64 編碼工具 [blocked] 可以快速進行 Base64 編碼和解碼,支援文字和檔案處理。也可以使用 Base64 圖片轉換器 [blocked] 將圖片轉換為 Base64 Data URI。

立即試用相關工具

馬上體驗文章中提到的功能