🌐 ZH-TW

🔐 Base64轉換器

將文字與檔案編碼為Base64,或解碼Base64字串。適用於圖片嵌入、API通訊和資料傳輸。

指南

瞭解更多

01

1. 什麼是Base64編碼?

Base64是一種將二進位資料轉換為ASCII文字字串的編碼方式。它僅使用64個安全字元(A-Z、a-z、0-9、+、/)來表示所有二進位資料。常用於在電子郵件附件、JSON資料、URL等僅允許文字的環境中傳輸二進位資料。它將3位元組資料轉換為4位元組字元,因此比原始資料大約增加33%的體積。使用=字元進行填充,由RFC 4648標準定義。

02

2. 何時使用Base64

Base64在多種場景中都有應用。在Web開發中,可將小圖片直接嵌入HTML/CSS以減少HTTP請求。電子郵件系統(MIME)將附件轉換為文字進行傳輸。JSON API使用它來安全地傳輸二進位資料。在資料庫中儲存圖片或檔案時也會用到。此外還可用於透過URL參數傳遞複雜資料,認證權杖(JWT)中同樣使用了Base64編碼。

03

3. Web開發中Base64的應用

Base64在Web開發中非常實用。透過CSS的Data URI直接嵌入圖片,可在無需額外HTTP請求的情況下提升載入速度。例如:background-image: url(data:image/png;base64,iVBORw0KG...)。不過,僅建議用於10KB以下的小圖片,大檔案無法被快取反而會更慢。它適用於favicon、logo、圖示等小圖片。在HTML5 Canvas中產生圖片後,可用toDataURL()轉換為Base64,用於下載或上傳。

04

4. 編碼與加密的區別

Base64是編碼,而非加密。編碼是將資料轉換為另一種格式,任何人都能輕鬆還原為原始資料。它是為了相容性和傳輸穩定性,而非安全目的。而加密則是保護資料,使其在沒有金鑰的情況下無法解密。Base64編碼的資料毫無安全性可言,因此絕不能僅用Base64來轉換敏感資訊(密碼、個人資訊)。如需安全保護,請先加密(AES、RSA)再進行Base64編碼。

05

5. 圖片嵌入最佳化

Base64圖片嵌入有利有弊。優點是減少HTTP請求,加快初始載入速度,並簡化檔案管理。缺點是體積增加33%,無法進行瀏覽器快取,且會使CSS或HTML變得臃腫。因此,請僅將其用於logo、圖示和小型背景圖片(5-10KB以下)。大圖片應作為獨立檔案提供並使用CDN。對於反覆使用的圖片,應以檔案形式提供以獲得快取效果。

06

6. API與資料傳輸中的Base64

在REST API中,Base64常用於檔案上傳/下載。JSON是文字格式,無法直接包含二進位資料,但轉換為Base64後即可在JSON中傳輸圖片或文件。例如:{"image": "data:image/png;base64,iVBORw..."}。不過,對於大檔案,使用multipart/form-data更為高效。GraphQL和WebSocket同樣利用Base64進行二進位資料傳輸。JWT權杖的酬載也經過Base64編碼,解碼後即可查看其內容。