透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

Base64 編碼後大小
1,336
位元組
原始大小 1,000 bytes
膨脹大小 33.6 %

什麼是 Base64 編碼大小計算器?

Base64 是一種編碼方式,利用 64 個可列印的 ASCII 字元來表示二進位資料。它廣泛應用於在 HTML/CSS 中內嵌圖片(data URI)、在電子郵件中夾帶附件(MIME),以及在 JSON 或權杖(token)中傳遞二進位內容。由於 Base64 會把每 3 個位元組轉換成 4 個輸出字元,因此編碼後的結果一定比原始資料大——大約會增加 33%。這個計算器能精準告訴你資料編碼後究竟會變多大。

如何使用

輸入原始檔案或資料的大小,選擇單位(位元組、KB、MB 或 GB),再決定輸出是否採用標準補位(結尾的 = 字元)。計算器會回傳編碼後的位元組大小,以及編碼所增加的膨脹百分比。

公式說明

標準 Base64 會以每 3 個位元組為一組進行處理。每一組正好轉換成 4 個字元,而最後一個不足 3 位元組的群組則會以 = 補足到 4 個字元。因此含補位的大小為:

$$\text{Encoded Bytes} = 4 \times \left\lceil \frac{\text{Size} \times \text{Unit}}{3} \right\rceil$$

若停用補位,則只會產生實際需要的字元數:\(\left\lceil \frac{4 \times \text{Size} \times \text{Unit}}{3} \right\rceil\),如此每次編碼可省下 1~2 個補位字元。

展示 3 個輸入位元組轉換為 4 個 Base64 輸出字元的示意圖
Base64 將每 3 個輸入位元組轉換為 4 個輸出字元(這就是體積增加約 33% 的原因)。

實際範例

假設你有一個 1,000 位元組的檔案。先除以 3 得到 333.33,向上取整(ceil)為 334,再乘以 4:\(334 \times 4 = \textbf{1{,}336}\) 位元組。膨脹率為 \((1336 - 1000) / 1000 = 33.6\%\)。若不含補位,結果則為 \(\lceil 4000/3 \rceil = \lceil 1333.33 \rceil = 1{,}334\) 位元組。

比較原始檔案大小與較大的 Base64 編碼大小的長條圖
編碼後的輸出比原始輸入大約大 33%。

關鍵術語解釋

Base64
一種二進制轉文本編碼方案,使用64個可打印的ASCII字符集(A–Z、a–z、0–9,加上+/)來表示任意二進制數據。它讓二進制內容可以安全地通過純文本通道傳輸,例如電子郵件正文、JSON、XML和URL。
3字節組 / 4字符塊
Base64以固定分組方式工作。輸入的每3個字節(24位)被分成四個6位的塊,每個塊映射到一個Base64字符。因此3個輸入字節始終變成4個輸出字符——這是該編碼大小增長的根本原因。
填充(=
當輸入長度不是3的精確倍數時,最後一個分組是不完整的。編碼器會附加一個或兩個=字符,使輸出長度保持為4的倍數。剩餘1個字節會產生2個=;剩餘2個字節會產生1個=
開銷
Base64與原始數據相比添加的額外大小。因為3個字節變成4個字符,編碼後的數據大約是\(4/3 \approx 1.333\)倍,增幅約為33%(一旦計入填充和任何換行符,會稍微更多)。
數據URI
一種URL方案(例如data:image/png;base64,iVBORw0KGgo…),可以將文件的Base64編碼內容直接嵌入文檔中,無需為小資源發送單獨的網路請求。
MIME換行
在電子郵件(MIME)編碼中,Base64輸出被分成最多76個字符的行,每行以CRLF結尾。這些換行符增加了超過基本33%擴展的少量額外大小。
ASCII字符
來自7位ASCII集合的單個字符,以一個字節編碼。Base64輸出中的每個字符都是ASCII字符,因此以字符計的編碼長度等於以字節計的長度。

常見問題

為什麼 Base64 一定會變大?每 6 個位元的資料會對應到一個 8 位元的 ASCII 字元,因此會損失 25% 的效率,使位元組數約增加 33%。

這有包含換行符號嗎?沒有。部分 MIME 編碼器會每 76 個字元插入一個換行,這會額外增加極少量的大小。本工具只計算純編碼後的原始大小。

那 data URI 呢?data URI 還會額外加上像 data:image/png;base64, 這樣的前綴。只要把這段字串的長度加到編碼大小上,就是完整的 URI 長度。

最後更新: