网页图片另存为JFIF格式是什么鬼?jfif与JPG有区别吗?

最近几年,有个别网站保存图片时,你会发现图片被莫名其妙的保存成了jfif格式。不过由于这种网站并不是很多,所以也一直没太在意。直到最近发现推特(Twitter)上所有的图片都被默认存为了jfif格式,而不是过去的jpg/jpeg,因此让我不得不深入了解一下这个格式。

一、JFIF皮毛知识和如何改回默认保存为JPG

经过一番研究发现,JFIF格式其实就是JPEG格式的补充版,全称为“JPEG文件交换格式”,采用了与JPEG完全一致的压缩算法,区别就是JFIF额外补充提供了一些高宽比、色彩模式、样本对齐等参数,不过这些对咱们来说没啥用。而且,这个格式已经存在30年了!所以网上流传的直接将Windows注册表中的MIME的JPEG默认后缀从jiff改为jpg的方式是可行的,修改之后再从推特保存的图片时,会默认保存为jpg格式。如果你要修改的话,注册表编辑器中相应路径如下(搜索regedit即可):

计算机\HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg

如上图所示,将.jiff改成.jpg 确定即可。

二、到底什么情况会默认保存为JFIF?

由于对JFIF一无所知,因此我从简单测试开始,测试了推特、Instagram、Facebook、淘宝、京东、百度等平台。意外发现,只有推特将图片默认保存为jfif格式,而其他的基本都是常规的jpg、png和webp格式。开始我用的是windows 11进行测试。再后来我更换了win 10、win 7、linux进行测试,发现推特图片在win10上也被保存为jfif格式,而win 7和 linux上被正常保存为jpg格式。测试到这里,我基本上确定了后缀格式与操作系统有关。只要你是win10及以上的系统,就会发生这个现象。

那为何测试的网站中只有推特有这种现象呢?我再次分析了一下推特网站的图片输出,发现与其他网站不同,推特推文中的图片路径并未直接指定文件后缀,而只是通过一个参数告诉服务器这个文件以jpeg编码输出,而windows 10 和 windows 11的MIME类型中,jpeg的默认后缀又是jfif,因此你保存文件时,自动被保存成jfif格式也就毫无疑问了。而那些网站输出图片时本来就带了jpg后缀时,windows就不会再次更改后缀,所以也就呈现出正常的jpg后缀了。总结一下,网页上输出JPG类型的图片,且不带后缀的情况下,访问客户端是windows10以上时,才会默认保存jfif格式。

三、剩下的骚操作

有了上面的知识积累,基本可以确定​,要将默认保存格式变回jpg的话,通过修改MIME类型默认后缀的方式是完全没有问题的。就算你把JFIF后缀改成JPG后缀,也能正常打开。同样的,你用记事本打开JFIF文件,然后把头文件的JFIF改成JPEG,也是没问题的。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注