关于JPEG文件格式及其缩略图的口水

本文解释了一个流传甚广的现象:一张特定的JPEG图片,在Windows XP中以不同方式显示为完全不同的内容。作者指出这并非系统BUG,而是由于JPEG文件内部存储的特殊结构所致,并介绍了JPEG文件中原始图与缩略图独立存储的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上流传一个什么美女图,说是XX大学某XX学生借之发现了WindowsXP的一个什么什么BUG,观其现象,无非是该图片(JPEG格式)大尺寸观看的时候是一个时尚美女模特,而将它保存到磁盘上使用XP文件夹的缩略图方式查看的时候,就成了另一张风马牛不相及的图片(两片树叶)。

看着无知的电脑迷们个个都发现新大陆般的欢喜,忍不住写两行字对抗一下迷信。

这不是XP系统的BUG,问题不在于XP,而在于该图片,那是一张人为加工成这样子的图片。对JPEG的文件格式稍微有点认识就能发现其中的猫腻。对于JPEG文件而言,存储原始图像信息和缩略图信息的空间是分开的,也就是说一个JPEG文件的二进制内容被分为很多个“段”来存储,其中有两个段分别是原始图像和缩略图。

缩略图和原始图是在同一时间被写入物理文件的,言下之意是缩略图并不是每次使用缩略图功能的时候动态生成的,而是本来在文件里面就有,要用的时候直接读取那么一小段的文件内容(而不用读取大段的原始图内容)。

也就是说,只要有一个JPEG文件,只需要用某种二进制编辑工具或手段,将原文件中的缩略图段内容替换成与原图像不相干的内容,那么就“制造”了如此一个“XP的BUG”。

突然想起在了解JPEG文件编码格式之前也遇到过一个类似的问题,我的Kodak相机拍出来的照片,原始图上会带一个难看的时间戳,但是偶然发现用缩略方式查看的时候并没有时间戳,当时困惑不解,现在看来就没什么稀奇的了。

看来无知不要紧,坚持求知不迷信就好了,哈哈哈~

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值