0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
設定
Base64 編碼和解碼文字,支援多種字元編碼。URL-safe 變體將
+ 替換為 -,/ 替換為 _,並刪除填充 = (RFC 4648 §5)。運作方式
Base64 使用 64 個可列印的 ASCII 字元表示資料。每 3 個輸入位元組變成 4 個字元,因此結果比原始大約多佔 33%。
它既不是加密也不是壓縮:它是一種任何人都能解碼的可逆編碼。它用於在僅供文字使用的通道上傳輸二進位資料。
URL 安全變體(RFC 4648 §5)使用 - 和 _ 代替 + 和 /,並省略 = 填充,因此可以將結果放入 URL 和檔名中而無需轉義。
範例
Hello WorldSGVsbG8gV29ybGQ=CaféQ2Fmw6k=在 UTF-8 中,非 ASCII 字元佔用超過一個位元組,因此“é”會增加兩個位元組。>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwURL 安全變體將 + 和 / 替換為 - 和 _,並移除 = 填充。使用情境
- 透過 data URI 將圖片、字型或圖示直接嵌入 HTML/CSS。
- 傳送電子郵件附件(MIME)或 JSON 內的二進位資料。
- 將金鑰、憑證或權杖儲存在環境變數和設定檔中。
- 為 HTTP 的 Authorization: Basic 標頭對憑證進行編碼。
常見問題
Base64 是一種加密方法嗎?
不是。它是無密鑰的可逆編碼:任何人都能解碼。它不提供任何安全性;要保護資料必須加密。
為什麼結果以“=”結尾?
“=”是填充(padding),當輸入不是 3 位元組的倍數時用來補足 4 個字元的區塊。URL 安全變體會省略它。
什麼時候更適合使用 URL 安全變體?
當值要放入 URL、檔名或識別碼時,因為 + 和 / 字元在這些上下文中具有特殊含義。
為什麼編碼後的文字比原始的更長?
因為它每 3 個輸入位元組使用 4 個字元,所以體積增大約 33%。
我的文字會上傳到伺服器嗎?
不會。編碼和解碼完全在你的瀏覽器中進行。