Base64 編碼與解碼的運作機制
Base64 是一種將二進位資料或文字轉換為 ASCII 字元集表示法的編碼技術。本工具支援將任意文字編碼為 Base64 字串,或將已編碼的 Base64 字串還原為原始文字。所有編碼與解碼程序皆在瀏覽器本地即時完成。
在進行編碼與解碼時,工具提供兩種模式與兩種變體供選擇:
- 模式:
- 編碼:將輸入的文字轉換為 Base64 格式。此為網頁載入時的預設模式。
- 解碼:將輸入的 Base64 字串還原為原始文字。當使用者從編碼切換至解碼模式時,目前的輸出內容會自動移動到輸入欄位中。
- Base64 變體:
- 標準:使用傳統的 Base64 字元集進行處理。此為網頁載入時的預設變體。
- URL 安全:使用適合於網址與檔名傳輸的字元集。
使用者可隨時點擊「清空」按鈕,此操作會清除輸出內容並將游標重新定位至輸入欄位中。
標準與 URL 安全變體的差異
在 Web 開發與資料傳輸中,標準 Base64 與 URL 安全Base64 具有不同的應用場景:
| 特性 | 標準 | URL 安全 |
|---|---|---|
| 字元替換 | 使用 + 與 / |
將 + 替換為 -,將 / 替換為 _ |
| 填充符(Padding) | 保留末尾的 = 填充符 |
移除所有 = 填充符 |
| 傳輸場景 | 一般資料傳輸、電子郵件等 | 直接用於 URL 或檔名,無需額外的百分比編碼(Escaping) |
標準 Base64 包含的 +、/ 以及末尾用於對齊位元組的 = 符號,在 URL 中具有特殊意義,若直接放入網址會導致解析錯誤。URL 安全變體藉由替換字元與移除填充符,解決了此相容性問題。
UTF-8 多位元組字元處理
本工具將所有輸入文字視為 UTF-8 編碼進行處理。這確保了包含中文、日文等多位元組字元,或是 Emoji 表情符號的文字,在編碼與解碼的往返過程中皆能保持正確性,不會出現字元損毀或亂碼。
在進行編碼時,工具會先將 UTF-8 文字轉換為對應的位元組序列,再進行 Base64 編碼。解碼時則執行相反的操作,將 Base64 字串還原為位元組,再依 UTF-8 規範重組為文字。
錯誤訊息與異常處理
在處理不符合規範的輸入內容時,工具會顯示對應的錯誤提示:
- 不是合法的 Base64——檢查一下是不是有非法字元或複製貼上出錯。:當輸入的字串包含非 Base64 字元集定義的符號,或結構損壞時顯示。解碼時,工具允許輸入中含有空白字元與 URL 安全字元。
- Base64 本身合法,但解碼出的位元組不是合法 UTF-8 文字——可能是圖片、字型等二進位內容,而不是編碼後的文字。:當輸入的 Base64 字串成功解碼為二進位位元組,但該位元組序列不符合 UTF-8 文字編碼規範時顯示。這通常發生在嘗試解碼非文字檔案(如圖片、字型等二進位數據)時。
- 內容太長了,換一段短一點的試試。:當輸入內容長度超過 5,000,000 個字元時顯示。
瀏覽器本地處理與隱私保護
本工具的編碼與解碼運算完全在用戶端的瀏覽器內執行。輸入的文字與產生的數據不會上傳到 BroBroGo 伺服器。這種本地處理機制確保了資料傳輸過程中的隱私,避免了網路傳輸帶來的資料外洩風險。
常見問題
把文字貼到這裡安全嗎?
安全。編碼和解碼完全在你的瀏覽器裡進行,不會傳送到 BroBroGo。
支援中文、emoji 等多位元組字元嗎?
支援。文字按 UTF-8 編解碼,多位元組字元能正確往返,不會變成亂碼。
標準 Base64 和 URL 安全 Base64 有什麼差別?
URL 安全版本把 + 和 / 換成 - 和 _,並且不帶填充符,可以直接用在 URL 或檔名裡,不用再轉義。