概述
JPEG 标准规定了如何压缩图片,却没有规定如何把它保存成所有程序都能读取的文件。1991–1992 年,C-Cube Microsystems 公司的 Eric Hamilton 创建了 JFIF,它后来被标准化为 ITU-T T.871(ISO/IEC 10918-5)。JFIF 通过一个小小的 APP0 文件头记录版本、像素密度和可选缩略图,并将色彩空间固定为 YCbCr,填补了这一空白。
大多数 .jpg 文件实际上都是 JFIF 文件。.jfif 扩展名主要出现在 Windows 上:当注册表把 MIME 类型 image/jpeg 关联到 .jfif 时,浏览器就会用这个扩展名保存下载的 JPEG 图片。而许多上传表单、应用和手机只接受 .jpg 或 .jpeg,所以人们需要把 JFIF 转换为 JPG。
由于压缩后的图像数据完全相同,只要您不改变尺寸或方向,JFIF.IO 就会在不重新压缩的情况下将 JFIF 转换为 JPG:像素完全不变,只有文件容器的细节发生变化。
优点
- +画质和压缩率与任何 JPEG 相同
- +所有浏览器和大多数图片查看器都能打开
- +文件头中包含像素密度(DPI)信息
缺点
- −许多上传表单和应用会拒绝 .jfif 扩展名
- −部分操作系统没有把 .jfif 关联到图片查看器
- −继承了 JPEG 的所有局限:有损、不支持透明和动画
JFIF 压缩原理
JFIF 使用标准的 JPEG 压缩:YCbCr 色彩转换、可选的色度抽样、8×8 分块 DCT、量化和霍夫曼编码。JFIF 本身只是添加了 APP0 文件头,并不改变图片的压缩方式。
常见用途
- 很少有人会刻意创建 .jfif 文件,它们通常出现在 Windows 上保存网页图片时
- 明确要求 .jfif 扩展名的旧系统
- 转换为 .jpg 可获得最佳兼容性
浏览器和软件支持
JFIF 图片本质上就是 JPEG,所有浏览器都能显示。只有会检查文件扩展名的软件或上传表单才会出问题。
如何转换 JFIF
使用本页顶部的转换器:拖入文件,选择输出格式,然后下载结果。转换在浏览器中进行,不会上传任何内容。
已在您的浏览器中本地处理
JFIF 常见问题
为什么我的图片会保存成 .jfif?
在某些 Windows 电脑上,注册表把内容类型 image/jpeg 关联到了 .jfif 扩展名,因此浏览器保存 JPEG 图片时会使用它。图片本身就是普通的 JPEG。
如何阻止 Windows 把图片保存为 JFIF?
打开注册表编辑器,定位到 HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg,把“Extension”的值从 .jfif 改为 .jpg。修改前请先备份注册表;如果不确定,需要时直接转换文件即可。
JFIF 转 JPG 是无损的吗?
使用 JFIF.IO 是无损的——只要您不调整尺寸、裁剪或旋转,原始 JPEG 数据就会原样保留,文件不会被重新压缩。
可以直接把 .jfif 改名为 .jpg 吗?
通常可以,因为数据是一样的。不过转换还能规范文件头,并可同时删除元数据或调整尺寸。