Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近我使用 Huffman 编码技术在 C++ 中压缩文本文件。霍夫曼编码特别减少了磁盘上文件所需的位数,而且这种编码是无损压缩。我想知道还有哪些其他技术可以用来压缩文本文件图像和其他类型的数据等数据。还有什么是无损压缩及其对应部分?
也许最简单的无损是对字符串进行游程编码:
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
将被编码为:
12W1B12W3B24W1B14W
或者:
WW12BWW12BB3WW24BWW14
最简单的有损编码算法类似于:下采样,或平均一个向量的 3 个相邻单元格并保持平均值。
“无损”压缩意味着原始输入在解压缩时始终可以准确再现。
“有损”压缩用于特定情况(例如,图像和声音),其中一些细节损失(例如,高频信息的损失)只会被视为整体“质量”的轻微下降。请注意,使用的“有损”压缩类型(以及伴随的潜在信息丢失)必须为被压缩的媒体仔细选择——对声音有益的东西可能对图像没有好处,例如,对图像来说可能是灾难性的。财务数据(通常不应受到“有损”压缩)。