欢迎来到数据存储与压缩!

在本章中,我们将探索如何衡量文件的“数字重量”,以及如何将文件缩小,好让它们不会占用过多空间。无论你是正在下载一个 50GB 的游戏,还是传送一张 2MB 的相片给朋友,你都在处理数据存储(Data storage)压缩(Compression)的问题。

如果起初看到这些数字觉得很庞大,请别担心——只要看出当中的规律,计算起来就像移动小数点一样简单(嗯,应该说是二进制小数点!)。

第一节:衡量数据

就像我们用克和公斤来衡量重量一样,我们用位元(bits)字节(bytes)来衡量数字数据。由于电脑使用二进制(binary)(由 1 和 0 组成),这些测量单位都是以 2 的倍数为基础。

基础组件

  • 位元(Bit):数据的最小单位,是一个单独的 1 或 0。
  • 半字节(Nibble):4 个位元(半个字节)。
  • 字节(Byte):8 个位元。这是衡量单个文本字符的标准单位。

二进制倍数

过去,人们常用“千字节(kilobytes)”来表示 1000 或 1024。为了精确起见,你的 Edexcel 课程采用了 IEC(国际电工委员会)的标准。这些单位以 1024 为倍数递增。

记忆小贴士:"Kitchens Make Great Toast"(厨房能做出很棒的吐司)
  1. Kibibyte (KiB):\(1024\) bytes
  2. Mebibyte (MiB):\(1024\) kibibytes
  3. Gibibyte (GiB):\(1024\) mebibytes
  4. Tebibyte (TiB):\(1024\) gibibytes

你知道吗? 我们使用 "kibi" 和 "mebi" 而不是 "kilo" 和 "mega",是为了标示我们使用的是 1024 (\(2^{10}\)) 而非 1000 (\(10^{3}\))。

快速复习:
8 bits = 1 byte
1024 bytes = 1 KiB
1024 KiB = 1 MiB
1024 MiB = 1 GiB
1024 GiB = 1 TiB

第二节:计算文件大小

你需要学会“构建算式”(写出数学式),来计算文件有多大,或是它能否存入磁盘中。在考试中,你通常不需要算出最后那个巨大的数字,但你必须展示你是如何得出该结果的!

计算图像文件大小

要计算位图(bitmap image)的大小,请使用此公式:
\(分辨率 (宽 \times 高) \times 色彩深度\)

范例: 一张图像宽 100 像素、高 100 像素,色彩深度为 24-bit。
算式: \(100 \times 100 \times 24\) bits。
要得到以 bytes(字节)为单位的答案,需除以 8:\(\frac{100 \times 100 \times 24}{8}\)

计算声音文件大小

要计算声音文件的大小,请使用此公式:
\(采样率 (Hz) \times 采样时间 (秒) \times 位元深度\)

范例: 一段 10 秒的录音,采样率为 44,100Hz,位元深度为 16-bit。
算式: \(44,100 \times 10 \times 16\) bits。

容量需求

如果你需要知道 2MiB 的文件在 10GiB 的 USB 闪存盘中能存多少个:
1. 将所有单位转换成一致(将 GiB 转换为 MiB)。
2. \(10 \times 1024 = 10,240\) MiB。
3. 用总容量除以文件大小:\(10,240 / 2 = 5,120\) 个文件。

常见错误: 忘了除以 8!考试题目通常要求以 bytes 为单位,但你的初步计算结果通常是 bits

重点提示: 务必检查你的单位!如果题目要求以 KiB 为单位,你得将总字节数除以 1024。

第三节:数据压缩

压缩(Compression)是将文件缩小的过程。我们为什么要这样做?
1. 为了占用更少的存储空间
2. 为了让文件在网络上传输得更快(流媒体/下载)。

1. 有损压缩 (Lossy Compression)

有损(Lossy)压缩通过永久删除部分数据来缩小文件。它会寻找人类眼睛或耳朵不易察觉的数据并将其移除。

  • 范例: JPEG(图像)、MP3(声音)、MP4(视频)。
  • 优点: 大幅缩减文件大小。
  • 缺点: 损失了部分品质;文件无法还原成原始状态。

2. 无损压缩 (Lossless Compression)

无损(Lossless)压缩在不丢失任何信息的情况下缩小文件。它会寻找数据中的规律,并以更有效率的方式记录它们。当你“解压缩(unzip)”文件时,它与原始文件完全相同。

  • 范例: PNG(图像)、ZIP(文件)、FLAC(声音)。
  • 优点: 画质或音质无损。
  • 缺点: 文件缩小的程度不如有损压缩显著。

压缩的类比

想象你在传送信息。
无损(Lossless)就像用 "don't" 代替 "do not"。虽然变短了,但含义 100% 被完美保留。
有损(Lossy)就像传送 "c u ltr"。你删除了字母(数据),虽然朋友看得懂,但它已经不是原本那句正式的句子了。

快速复习:
有损(Lossy): 文件更小,品质较低,数据永远消失。
无损(Lossless): 文件略微缩小,品质完美,数据完整保留。

总结:我们学到了什么?

- 电脑以二进制倍数(基数 1024)来衡量数据。
- 我们使用 bits, bytes, KiB, MiB, GiB, 及 TiB 来衡量存储大小。
- 文件大小算式能帮助我们规划所需的存储空间。
- 有损压缩通过删除数据来缩小文件(适合相片/音乐)。
- 无损压缩通过重新组织数据来缩小文件(适合文字/程序代码)。