Base64 編碼/解碼 — UTF-8 與 URL Safe 雙支援
輸入文本或 Base64 字串即可雙向轉換。支援 UTF-8 (含表情符號、CJK), URL Safe 變體可切換。
運作原理
Base64 是什麼、用途為何
Base64 用 64 個字元 (A-Z、a-z、0-9、+、/, 末尾 = 填充) 編碼任意位元組序列。是把影像位元組、加密 blob、簽名 token 等二進位制資料嵌入 JSON、HTML、郵件頭等純文本格式的標準方式。輸出比輸入大約 33%。
Base64 是編碼不是加密。任何人都可解碼回原位元組。需要保密時請用真正的加密(AES、RSA等)。
URL Safe 與標準的差別
標準 Base64 用「+」「/」, 它們在 URL 中有特殊含義需要 percent encoding。URL Safe Base64 (RFC 4648 §5) 把「+」替換為「-」, 「/」替換為「_」, 並去掉末尾「=」填充。JWT、OAuth token、許多 Web API 都用 URL Safe 形式。
手動解碼 JWT 或 token 時開啟 URL Safe。處理傳統郵件或 PDF 嵌入資料時關閉即可。URL Safe 模式下解碼也接受標準格式(因為標準字母表是超集減去那對特殊字元)。
UTF-8 處理
舊瀏覽器 btoa() 只能處理 ASCII。本工具用 TextEncoder 先把輸入轉為 UTF-8 位元組再 Base64 編碼。表情符號、CJK 字元、帶音標拉丁字元等所有 Unicode 都能正確編碼與往返。這與 JWT 庫和現代框架的方式一致。
常見問題
›Base64 是加密嗎?
不是。是把二進位制編碼成 ASCII 文本。任何人都能解碼。需要保密用真正的加密(AES、RSA等)。
›為何 URL Safe 不同?
標準 Base64 的「+」「/」在 URL 有特殊意義需要 percent-encode。URL Safe 替換為「-」「_」避免此問題。
›可以解碼 JWT 簽名?
解碼簽名得到位元組序列, 用於驗證而非閱讀。解碼 JWT 的頭部與負載(前兩段)看資料。
›支援二進位制檔案嗎?
本工具僅文本。檔案請用二進位制感知工具 (瀏覽器 DevTools 的 atob/btoa 適合小檔案)。
›解碼後亂碼怎麼辦?
可能 Base64 無效, 或者編碼的是非 UTF-8 位元組(如 GBK 編碼文本)。先檢查原始編碼。
›資料會上傳嗎?
不會。所有處理在瀏覽器內。
›大小開銷?
約 33% 增大(每 3 輸入位元組 → 4 輸出字元)。URL Safe 無填充也是相同開銷。
›為何需要填充「=」?
標準 Base64 用「=」把輸出長度補到 4 的倍數。URL Safe 版本常省略, 因為解碼不需要。
相關工具
最後更新: