当运行rsync时使用-z模式压缩数据时,压缩是否无损?
sudo rsync -az /path_to/A /path_to/B如何确保任何压缩都是无损的?
发布于 2014-11-17 20:13:39
简短的回答是肯定的。
很长的答案是,所有的通用数据压缩都是无损的,几乎所有的媒体编码都是有损的。我试着解释下为什么。
有两种类型的压缩,无损和有损。在无损压缩中,没有丢失任何信息,因此可以从压缩版本中完美地重构原始数据。在有损压缩中,一些信息会丢失,因此无法从压缩版本中完全重建原始数据。在这种情况下,重构版本是原始版本的近似值,但是文件大小将比使用无损算法时任何时候都要小。
有损压缩通常用于诸如JPG (图像)、MP3 (音频)和MP4 (视频)等媒体。使用有损压缩会产生更小的文件,因为我们可以去除数据,这样人类的眼睛或耳朵就不会注意到它的缺失。这实际上很有趣,通常涉及频率变换,例如离散余弦变换(DCT),但这超出了这个问题的范围。
在一般数据压缩的情况下,当您可能正在压缩文本文件或可执行文件时,据我所知,从不使用有损压缩。如果以有损方式压缩文本文件,则会丢失一些信息,从而永远丢失一些文本。如果以有损方式压缩可执行文件,则解压缩文件后,它将不会以相同的方式工作(如果有的话)。
更进一步,假设您有一个MP3文件。内部的音频已经进行了有损压缩。但是,MP3文件本身是以一种非常特殊的方式组织的,以便音频播放器了解如何播放其数据。如果要有损压缩MP3文件,您将丢失信息,组织将被销毁,而且很可能是不可播放的。
发布于 2014-11-17 19:49:12
来自man rsync:
CREDITS
...
This program uses the excellent zlib compression library written
by Jean-loup Gailly and Mark Adler.来自zlib主页:
zlib被设计成一个免费的、通用的、法律上不受限制的--也就是说,没有任何专利--无损的数据压缩库.
除了验证zlib (这是一个非常有名,广泛使用。压缩库)之外,您无能为力。
https://askubuntu.com/questions/550735
复制相似问题