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:
- 編碼流程:先將字串轉換為標準 UTF-8
Uint8Array位元組陣列,再以安全映射演算法產生 Base64 字串。 - 解碼流程:先將 Base64 字串還原為 UTF-8 位元組序列,再依據 UTF-8 規範正確重組多位元組字元,確保文字 100% 準確無誤。
RFC 4648 URL-Safe 安全模式
當 Base64 字串用於網址參數(Query Parameter)或 JWT Token 酬載時:
+會被部分伺服器誤判為空格。/會被誤判為網址路徑層級分隔符。=填充等號可能影響參數解析。
切換至「URL-Safe 模式」時,工具將自動:
- 將
+替換為-(減號) - 將
/替換為_(底線) - 智慧移除結尾的
=填充符號
操作指南
- 選擇作業模式:點擊切換「編碼 (Encode)」或「解碼 (Decode)」。
- 設定選項:可依需求勾選「URL-Safe 模式」。
- 輸入文字:在上方文字框中鍵入或貼上內容。
- 即時檢視結果:下方框即時呈現轉換結果,支援一鍵複製與清空操作。