了解克劳德·香农的核心思想——比特、熵与信道容量——以及它们如何支持压缩、纠错、可靠网络和现代数字媒体。

每次你发送短信、看视频或接入 Wi‑Fi 时,都在使用克劳德·香农的思想。并不是你的手机“知道香农”,而是现代数字系统建立在一个简单承诺上:我们能把混乱的真实世界消息转成比特,让这些比特穿过不完美的信道,并且仍然高度可靠地恢复原始内容。
信息论是关于消息的数学:消息包含多少选择(不确定性)、如何高效表示它们,以及在噪声、干扰和拥塞影响下如何可靠地传输它们。
这背后有数学,但你不必成为数学家就能掌握实用直觉。我们将用日常例子——比如为什么有些照片更容易压缩,或为什么信号弱时通话仍然能听清——来解释这些思想,而不做繁重的公式推导。
本文围绕四个受香农启发并出现在现代技术中的支柱:
结尾时,你应该能清晰地思考真实权衡:为什么更高的视频质量需要更多带宽,为什么“信号格数更多”并不总意味着更快的网速,为什么有些应用感觉瞬时而另一些需要缓冲,以及为什么每个系统都会遇到极限——尤其是著名的香农极限,即信道能承载的可靠数据量上限。
1948年,数学家与工程师克劳德·香农发表了一篇题目看似不起眼的论文——A Mathematical Theory of Communication(通信的数学理论)——却悄然重构了我们对信息传递的理解。他不再把通信当作一门艺术,而是把它当作工程问题:源产生消息,信道传输,噪声使其受损,接收器尝试重构发送内容。
香农的关键举措是把信息定义为可测量且对机器有用的量。在他的框架中,信息不是关于消息有多重要或意味着什么,也不是关于真假;而是关于它有多令人惊讶——当你得知结果时,不确定性减少了多少。
如果你已经知道将会发生什么,消息几乎不携带信息;如果你真正不确定,得知结果则携带更多信息。
为了测量信息,香农普及了比特(binary digit)。一个比特是解决一个是/否不确定性所需的信息量。
例子:如果我问“灯亮吗?”,而你事先毫不知情,那么答案(是或否)可被视为提供了1 比特信息。许多真实消息都可以拆成长串这样的二元选择,这就是为什么从文本到图片到音频都能以比特形式存储和传输。
本文关注香农思想的实用直觉,以及它们为什么无处不在:压缩(使文件更小)、纠错(修复损坏)、网络可靠性(重试与吞吐)和信道容量(在有噪声的链路上可达的速率)。
我们不会做大量的证明。你不需要高级数学就能理解要点:一旦你能测量信息,你就能设计出接近最佳效率的系统——通常可以惊人地接近香农描述的理论极限。
在谈论熵、压缩或纠错之前,弄清几个日常术语会很有帮助。能把香农的思想说清楚,先把构件命名下来更容易理解。
一个符号是从约定集合中取出的一个“标记”。该集合是字母表。在英语文本中,字母表可能是字母(加上空格和标点)。在计算机文件中,字母表可能是字节值 0–255。
一个消息是一连串来自该字母表的符号:一个单词、一句句子、一张照片文件,或一段音频样本流。
为保持具体,想象一个微小的字母表:{A, B, C}。一条消息可能是:
A A B C A B A ...
比特是二进制位:0 或 1。计算机存储和传输比特,因为硬件可以可靠地区分两种状态。
一个码是用比特(或其他符号)表示符号的规则。例如,对我们的 {A, B, C} 字母表,可能的二进制编码是:
现在任何由 A/B/C 组成的消息都可以被转换成比特流。
这些术语常被混淆:
真实消息并非随机:某些符号比其他符号更常出现。假设 A 出现 70%,B 20%,C 10%。一个好的压缩方案通常会给常见符号(A)更短的比特模式,而把罕见符号(C)用更长的模式表示。那种“不均匀”正是后文用熵来量化的原因。
香农最著名的思想是熵:衡量来源中有多少“惊讶”的方法。不是情绪上的惊讶,而是不可预测性。下一个符号越不可预测,它到达时携带的信息就越多。
想象你在看硬币投掷:
这种“平均惊讶”的表述与日常模式相符:一个有大量重复空格和常用词的文本比随机字符的文件更容易预测,也就更容易压缩。
压缩通过给常见符号更短的编码、给罕见符号更长编码来工作。如果来源是可预测的(低熵),你就可以大部分时间使用短编码节省空间;如果它接近随机(高熵),可压缩的空间就很小,因为没有足够常见的模式可被利用。
香农表明熵设定了一个概念性的基准:它是你在对该来源进行编码时能达到的平均比特数每符号的下界。
重要:熵不是压缩算法。它不告诉你确切如何压缩文件,而是告诉你理论上可能达到什么,以及何时已经接近极限。
压缩就是把可能用更少比特描述的消息真正压缩。香农的关键见解是:熵较低(更可预测)的数据有“压缩空间”,而高熵数据(接近随机)则没有。
重复模式是显而易见的收益:如果文件重复相同序列多次,你可以只存一次序列并多次引用它。但即便没有明显重复,符号频率偏斜也有帮助。
如果文本中的“e”远比“z”常见,或日志文件重复相同时间戳和关键字,你就不需要对每个字符花同样多的比特。频率越不均匀,来源越可预测,也就越可压缩。
利用频率偏斜的一种实用方法是可变长度编码:
小心设计后,这会在不丢失信息的前提下降低平均比特数。
现实世界的无损压缩器常混合多种思想,但常见的家族包括:
无损压缩能完美还原原始数据(例如 ZIP、PNG)。对于软件、文档及任何单个错误比特都可能致命的内容,这类压缩至关重要。
有损压缩故意丢弃人们通常察觉不出的信息(例如 JPEG 照片、MP3/AAC 音频)。目标从“比特完全还原”转为“体验相同”,通过去除感知上不重要的细节来实现更小的文件。
所有数字系统都基于一个脆弱假设:0 保持为 0,1 保持为 1。现实中,比特会翻转。
在传输中,电磁干扰、弱 Wi‑Fi 信号或无线噪声可能把信号推过阈值,使接收方误判。在存储中,微小的物理效应——闪存的磨损、光介质的划痕、甚至散粒辐射——都可能改变存储的电荷或磁态。
由于错误不可避免,工程师有意加入冗余:额外的比特不承载“新”信息,但能帮助检测或修复损坏。
奇偶校验位(快速检测)。 增加一个额外比特使得 1 的总数为偶数(偶校验)或奇数(奇校验)。若单个比特翻转,奇偶校验会检测到。
校验和(块级更强的检测)。 不用单个位,而是对一个包或文件计算一个小的摘要数(例如加性校验和、CRC)。接收端重新计算并比较。
重复编码(简单纠错)。 每个比特发送三次:0 变成 000,1 变成 111。接收端采用多数表决。
错误检测回答:“有没有出错?”常用于重传成本低的场景——比如可以重发的数据包。
错误纠错回答:“原始比特是什么?”用于重传代价高或不可能的场景——如流媒体、深空通信或读取可能仍会出错的存储。
冗余看似浪费,但正是它让现代系统在硬件不完美和信道噪声中既能快速又能可信赖。
当你通过真实信道发送数据——Wi‑Fi、蜂窝、USB 电缆,甚至硬盘——噪声和干扰会翻转比特或模糊符号。香农的惊人承诺是:可靠通信是可能的,即便在有噪声的信道上,只要你不试图塞入过多信息。
信道容量是信道的信息“速限”:在给定噪声水平和带宽、功率等约束下,可以把错误率驱动到任意接近零的最大速率(比特/秒)。
它不同于原始符号速率(你切换信号的速度),而是关于在包含智能编码、冗余与解码后,能保留下来的有意义信息量。
“香农极限”通常用来指这个边界:在它之下,理论上你可以把通信做到任意可靠;超过它,则不行——无论怎么设计,都有非零错误率。
工程师通过更好的调制和纠错码努力接近极限。像 LTE/5G 和 Wi‑Fi 这样的现代系统使用先进编码,使它们能在该边界附近运行,而不是浪费大量信号功率或带宽。
把它想象成在颠簸路上的搬家卡车装载物品:
香农并没有给出单一“最佳码”,但他证明了这个极限存在,并且值得努力接近。
香农的有噪声信道定理常被总结为一个承诺:如果你的发送速率低于信道的容量,就存在能够把错误变得任意罕见的编码。现实工程则是把那种“存在性证明”变成适合芯片、电池和时限的实际方案。
大多数真实系统使用分组码(对一块比特保护)或流式码(保护持续序列)。
使用分组码时,你为每个块添加精心设计的冗余,使接收端能检测并纠正错误。使用交织可以把连续的噪声突发(大量连续错误)打散为散布于多个块的小错误——这对无线和存储尤为重要。
另一个重要区分是接收端如何“判决”所接收的信号:
软判决为解码器提供更多信息,能显著提升可靠性,尤其在 Wi‑Fi 和蜂窝系统中。
从 深空通信(重传代价高或不可能)到 卫星、Wi‑Fi 与 5G,纠错码是香农理论与有噪声信道现实之间的桥梁——用额外的比特和计算换取更少的掉线、更快的下载和更可靠的链路。
即便个别链路不完美,互联网也能工作。Wi‑Fi 衰落、移动信号被阻挡,铜缆和光纤仍遭受噪声、干扰与偶发硬件故障。香农的核心信息——噪声不可避免,但可靠性可达成——在网络中体现在错误检测/纠错与重传的混合使用上。
数据被切分成数据包,这样网络可以绕开故障并在不重发全部内容的情况下从丢失中恢复。每个包都携带额外的比特(头部和校验),帮助接收端判断到达的数据是否可信。
一个常见模式是 ARQ(自动重传请求):
当数据包出错时,你有两个主要选择:
在重传昂贵或高延迟的链路上(如卫星),FEC 能减少延迟;在损失罕见的场景下,ARQ 更高效,因为你不会给每个包都负担沉重的冗余。
可靠性机制消耗容量:额外的比特、额外的数据包与等待。重传增加负载,可能加剧拥塞;拥塞反过来增加延迟与丢包,触发更多重试。
良好的网络设计寻求平衡:提供足够的可靠性以交付正确数据,同时保持开销低,使网络在变化条件下仍能维持健康的吞吐。
把现代数字系统看作一个管道,两个主要任务是:把消息变小和让消息安全到达。香农的关键洞见是,你通常可以把这两件事当作独立的层次来考虑——尽管真实产品有时会模糊它们。
你从一个“源”开始:文本、音频、视频、传感器读数。源编码去除可预测结构,避免浪费比特。那可以是文件的 ZIP,音频的 AAC/Opus,或视频的 H.264/AV1。
压缩是熵在实践中的体现:内容越可预测,平均所需的比特就越少。
然后把压缩后的比特通过有噪声的信道传输:Wi‑Fi、蜂窝、光纤或 USB。信道编码加入精心设计的冗余,使接收端能检测并纠正错误。这就是 CRC、Reed–Solomon、LDPC 等前向纠错(FEC)方法的世界。
香农表明,从理论上可以独立设计源编码以接近最佳压缩,和信道编码以接近在信道容量下的最佳可靠性。
在实践中,这种分离仍然是调试系统的好方法:当性能不佳时,你可以问是压缩(源编码)效率问题、链路(信道编码)可靠性问题,还是因重传和缓冲导致的延迟问题。
当你流式传输视频时,应用使用编解码器对帧进行压缩。通过 Wi‑Fi,数据包可能丢失或损坏,因此系统加入错误检测,有时加入 FEC,然后在需要时进行重传(ARQ)。若连接变差,播放器可能切换到更低码率流。
真实系统会模糊分层,因为时间很重要:等待重传会导致缓冲,且无线条件变化快。这就是流媒体栈将压缩选择、冗余和自适应结合起来的原因——它们并非完全分离,但仍受香农模型的指导。
信息论常被引用,一些观点被过度简化。下面列出常见误解,以及工程师在构建压缩、存储和网络系统时做出的真实权衡。
日常用语中的“随机”可能意味着“混乱”或“不可预测”。香农熵更狭义:它衡量的是在给定概率模型下的“惊讶”程度。
因此熵不是一种感觉;它是与来源行为假设相关的数值。
压缩去除冗余。而错误纠正有时会增加冗余以便接收端能修复损坏。
这产生了实际的紧张关系:
香农的信道容量告诉我们每条信道在给定噪声条件下有最大可靠吞吐率。低于该极限,借助合适编码可以把错误率做得非常小;超过它,错误无法避免。
这就是为什么“任意速度下完美可靠”不可能:提高速度通常意味着接受更高的错误概率、更高的延迟(更多重传)或更大的开销(更强的编码)。
在评估产品或架构时,问自己:
把这四点做对,比记住公式更重要。
香农的核心信息是:信息可以被测量、传输、保护和压缩,且只需一组核心思想。
现代网络与存储系统本质上是在速率、可靠性、延迟与计算之间不断权衡。
如果你在构建真实产品——API、流媒体功能、移动应用、遥测管道——香农框架是有用的设计清单:压缩能压缩的内容,保护必须保护的内容,并明确延迟/吞吐预算。其中一个直接体现是在快速原型到端到端系统并迭代时:使用像 Koder.ai 这样的 vibe‑coding 平台,团队可以从对话驱动的规范快速搭建 React 网页、Go 后端和 Flutter 移动客户端,然后及早测试真实世界的权衡(有效载荷大小、重试、缓冲行为)。诸如计划模式、快照与回滚等功能让你更容易在“更强的可靠性”和“更低的开销”之间试验,而不丧失进度。
香农的关键转变是把信息定义为不确定性被减少的量,而不是消息的意义或重要性。这个定义让信息可以被量化,从而让工程师能够设计系统来:
比特是解决一个是/否不确定性所需的信息量。数字硬件能可靠区分两种状态,因此各种数据都可以被转换为长串的0和1(比特),从而统一用于存储和传输。
熵是衡量来源平均不可预测性的度量。它与可压缩性有关:
熵不是压缩器;它是关于平均情况下可能达到的下界的基准。
压缩通过利用模式和不均匀的符号频率来减少体积。
因此,文本、日志和简单图形通常能大幅压缩;加密或已压缩的数据通常几乎不能缩小。
编码只是把数据转换为某种表示(例如 UTF‑8,或把符号映射为比特)。
压缩是利用可预测性来减少平均比特数的编码。
加密用密钥把数据打乱以保证机密性;它通常会让数据看起来像随机数据,从而通常降低可压缩性。
因为真实信道和存储并不完美:干扰、信号弱、硬件磨损等都会导致比特翻转。工程师加入冗余让接收端能够:
这些“额外”数据换来了可靠性。
错误检测告诉你“有东西出错了”(常用于可以重传的场景,比如网络数据包)。
错误纠正告诉你“原始数据是什么”(用于重传代价高或不可能的场景,比如流媒体、卫星或存储)。
许多系统会把两者结合:快速检测大多数问题,本地纠正一部分,必要时再重传。
信道容量是在给定噪声和约束下,可以把错误率驱动到任意接近零的最大传输速率(比特/秒)。
香农极限的含义是:
所以更强的“信号格数”并不总意味着更高吞吐率,尤其当你已接近其它瓶颈(拥塞、干扰、编码选择)时。
网络把数据切成数据包,并使用混合策略:
可靠性并非免费:重传和额外比特会降低有效吞吐量,尤其在拥塞或无线状况差时更明显。
因为需要在速率、可靠性、延迟和开销之间权衡:
流媒体系统通常根据变化的 Wi‑Fi/蜂窝条件自适应码率和保护策略,以维持这些权衡的最佳点。