在文字字串和Base64編碼之間轉換,支援URL安全編碼
工具功能
- 雙向轉換: 文字轉Base64或Base64轉文字
- URL安全模式: 支援URL安全Base64編碼 (+, / → -, _)
- 即時處理: 輸入即時自動轉換
- 一鍵複製: 一鍵複製結果到剪貼簿
使用方法
- 輸入文字或Base64: 輸入文字字串或Base64字串
- 選擇方向: 選擇轉換方向
- 轉換和複製: 轉換並複製結果到剪貼板
生成原理
文字編碼和Base64轉換
Base64字串轉換將文字編碼為Base64格式或將Base64解碼回可讀文字。該過程涉及字元編碼轉換:將文字轉換為UTF-8位元組、套用Base64編碼(將3個位元組分組為4個base64字元)並處理字元集編碼。與檔案Base64編碼不同,字串轉換專注於文字資料,處理各種文字編碼(UTF-8、UTF-16、ASCII、ISO-8859-1)、表情符號和unicode字元,並保留文字格式。轉換器為解碼實現編碼檢測,透過BOM(位元組順序標記)分析、字元集檢測啟發式和編碼信心評分自動識別來源編碼。進階功能包括處理字串中的空位元組、控制字元保留和RTL語言(阿拉伯語、希伯來語)的雙向文字支援。
字元集處理和Unicode支援
轉換器透過UTF-8編碼作為標準字元集實現全面的Unicode支援。它處理Unicode規範化(NFC、NFD、NFKC、NFKD)以進行正確的字元比較和儲存、基本多語言平面(BMP)之外字元的代理對、組合變音符號、零寬度字元(ZWSP、ZWNJ、ZWJ)和從右到左標記。該工具管理編碼邊緣情況:使用替換字元(�)的無效UTF-8序列、單個字串中的混合編碼、不同編碼的位元組順序標記(BOM)處理以及解碼文字中的HTML實體。進階字元處理包括表情符號變體選擇器、用於正確字元計數的字素簇分割以及代碼點與代碼單元的區別。轉換器提供編碼統計:字元計數、不同編碼中的位元組計數和編碼效率指標。
資料URI生成和應用場景
轉換器生成適合在HTML/CSS/JavaScript中嵌入文字的資料URI(資料:文字/plain;base64,encoded_text)。常見用例包括:在單檔案HTML中嵌入配置資料、在環境變數中儲存憑證(API金鑰、權杖)、在URL中傳遞文字資料而無需查詢參數、建立自包含的電子郵件範本。該工具支援不同文字格式的MIME類型規範:常規文字為文字/plain、HTML內容為文字/html、JSON資料為application/json、樣式表為文字/css。安全功能包括大型Base64字串的大小警告(Base64將大小增加33%)、使用遮罩選項檢測潛在敏感資料(密碼、權杖、API金鑰)以及HTML內容嵌入的XSS防護。轉換器提供格式化選項:符合MIME RFC的換行(每行76個字元)、URL安全Base64變體(將+/替換為-_)以及用於緊湊表示的填充刪除。
常見問題
- 什麼是Base64編碼?
- Base64是一種二進位到文字的編碼方案,使用64個字元(A-Z、a-z、0-9、+、/)將二進位資料轉換為ASCII文字格式。常用於資料傳輸和儲存。
- 為什麼使用Base64編碼?
- Base64編碼用於在文字協定(電子郵件、JSON、XML)上傳輸二進位資料,在HTML/CSS中嵌入影像/檔案,在資料庫中儲存資料,以及確保傳輸過程中的資料完整性。
- 什麼是URL安全Base64?
- URL安全Base64將+和/分別替換為-和_,使其可以安全地在URL中使用而無需編碼。這可以防止與URL特殊字元衝突。
- Base64編碼會壓縮資料嗎?
- 不會,Base64編碼會使資料大小增加約33%。它用於編碼而非壓縮。如果需要減小大小,請在Base64編碼前使用壓縮演算法。
- 可以編碼Unicode字元嗎?
- 可以,此工具支援所有Unicode字元,包括表情符號和特殊字元。它使用UTF-8編碼在Base64轉換前正確處理Unicode。
相關文件
- RFC 4648 - Base64編碼標準 - IETF Base64和Base64URL編碼規範
- MDN - btoa()和atob() - 瀏覽器Base64編碼/解碼API
- Base64 - Wikipedia - Base64編碼歷史和用途
- 資料 URIs - MDN - 在HTML/CSS中使用Base64資料URI
- HTTP基本認證 - 使用Base64的HTTP認證