1MB 是 1000KB 還是 1024KB?上傳限制怎麼算?
兩種都有人用:十進位 1MB = 1000KB,二進位 1MiB = 1024KiB。上傳網站沒說明算法時,以 1000 進位計算並留一點緩衝,大小這關就不會因為算法不同被擋。

本文提到的 PassSize 目前審核中・即將上架,還不能下載。上架前可以先用文中的內建方法,上架後這裡會換成下載連結。
快速回答
兩種說法都有人用。 依十進位(國際單位制)計算,1MB = 1000KB = 1,000,000 bytes;依二進位計算,1MiB = 1024KiB = 1,048,576 bytes,但很多軟體仍把它寫成「MB」。iPhone 和 Mac 系統顯示容量時用的是 1000 進位(個別 App 可能不同)。上傳網站如果沒說清楚,用 1000 進位計算並留一點緩衝最保險,例如限制 2MB 就壓到 1.9MB 左右。
為什麼會有 1000 和 1024 兩種算法?
電腦底層是二進位,記憶體容量天生是 2 的次方,1024(2¹⁰)剛好接近 1000,早年就習慣把 1024 bytes 叫做 1KB。但「k」在國際單位裡本來就是 1000(像 1 公里 = 1000 公尺),兩種用法於是並存。
為了區分,國際標準另外定義了二進位單位:
| 十進位 | 大小 | 二進位 | 大小 |
|---|---|---|---|
| 1 KB | 1,000 bytes | 1 KiB | 1,024 bytes |
| 1 MB | 1,000,000 bytes | 1 MiB | 1,048,576 bytes |
| 1 GB | 1,000,000,000 bytes | 1 GiB | 1,073,741,824 bytes |
在 MB 這個級距,兩種算法差了大約 4.9%;到 GB 差了約 7.4%。
iPhone 和 Mac 用哪一種?
Apple 支援文件說明,iOS 11 以後、Mac OS X Snow Leopard(10.6)以後,系統都用十進位顯示容量,所以在 iPhone「檔案」App 或 Mac Finder 看到的「2 MB」,就是大約 2,000,000 bytes。更早的 iOS 10 和 OS X Leopard 以前則是二進位。
相對地,Windows 檔案總管用 1024 進位計算卻標示為 KB、MB,所以同一個檔案在 Windows 上看起來會比較小。例如 2,050,000 bytes 的照片,iPhone 顯示約 2.05MB,Windows 卻顯示約 1.95MB。
上傳網站是怎麼檢查的?
網站通常是直接比對檔案的 bytes 數,只是門檻怎麼設,要看工程師寫的是 2,000,000 還是 2,097,152:
- 寫成 2,000,000 bytes(1000 進位):比較嚴格。
- 寫成 2,097,152 bytes(1024 進位):比較寬鬆。
從外面看不出對方用哪一種,所以危險的就是剛好卡在中間的檔案:例如 2,050,000 bytes,在 1024 進位的網站會過,在 1000 進位的網站會被擋。
怎麼抓安全範圍?
- 一律用 1000 進位計算上限:2MB 就當成 2,000,000 bytes,500KB 就當 500,000 bytes。
- 再留一點緩衝:例如抓上限的 95%,2MB 就壓到約 1.9MB,500KB 壓到約 475KB。
- 不要在 Windows 上看大小就判斷過關:Windows 顯示的數字會偏小。
- 想看精確數字:iPhone 在「檔案」App 長按檔案 →「取得資訊」可以看到檔案大小。
壓到 500KB 的實際做法可以看〈報名照片要小於 500KB,手機怎麼縮小?〉。
用 PassSize 不用自己換算
PassSize 的目標大小以 1000 進位計算(2MB = 2,000,000 bytes),並再保留約 2% 緩衝,所以結果也會小於 1024 進位的 2MB(2,097,152 bytes),不會因為算法不同在大小上被擋;格式、長寬等其他規定仍要另外確認。你只要選 500KB、1MB、2MB 或輸入自訂大小,App 會在不超過目標的前提下找可用的最高品質,壓縮都在手機上完成。詳細步驟見〈iPhone 照片怎麼壓到 2MB 以下?〉。
小提醒:同一個檔案從 iPhone 傳到 Windows 電腦,大小數字可能「變小」,這不是檔案被壓縮,只是算法不同。送件前以 1000 進位為準最安全。
繼續閱讀完整指南:iPhone 照片與 PDF 壓縮完整指南 →
揭露:PassSize 是本站(Charonyu)開發的 App。文中的內建方法與其他做法,都是不需要下載我們的 App 也能使用的選擇。
常見問題
iPhone 顯示的 MB 是用 1000 還是 1024 算?
Apple 說明 iOS 11 以後與 Mac OS X Snow Leopard 以後的系統,都用十進位計算容量,也就是 1MB = 1,000,000 bytes。
Windows 顯示的大小為什麼跟 iPhone 不一樣?
Windows 檔案總管習慣用 1024 進位計算,卻標成 KB、MB,所以同一個檔案在 Windows 上看起來會比在 Mac 或 iPhone 上小一點。
上傳限制 2MB,檔案 1.99MB 一定過嗎?
不一定。如果 1.99MB 是用 1024 進位顯示的,換成 bytes 其實超過 2,000,000,遇到用 1000 進位檢查的網站就會被擋。留 5% 左右的緩衝比較保險。
KiB、MiB 是什麼?
是國際標準為二進位單位取的正式名稱:1KiB = 1024 bytes、1MiB = 1024KiB。用來和十進位的 KB、MB 區分,但很多軟體和網站沒有嚴格使用。