教程

HEIC 格式完整指南:iPhone 用户需要知道的一切

koboshiCo-founder
·3 分钟阅读
HEIC 格式完整指南:iPhone 用户需要知道的一切
概述

HEIC 是 Apple 自 iOS 11 以来的默认照片格式。它节省存储空间,但在旧设备、大多数浏览器和许多应用中都会出问题。本文介绍你可以怎么做,从更改相机设置到批量转换。

在 iPhone 上拍一张照片,文件以 IMG_4021.HEIC 的形式存入你的相册。在手机上打开没问题。在 Mac 上打开没问题。AirDrop 到另一台 iPhone 上打开也没问题。

然后你通过邮件发给一个用 Windows 的人。对方回复:"附件打不开。"

这就是 HEIC 兼容性问题的缩影。Apple 七年前切换了默认照片格式,世界其他地方没有跟上。

为什么 iPhone 拍摄 HEIC

原因是文件体积。一张 iPhone 1200 万像素的照片大约占用:

格式典型体积备注
HEIC(默认)~1.8 MBISOBMFF 容器内封装 HEVC 压缩
JPEG~3.5 MBiOS 11 之前的旧默认格式
ProRAW~25 MBPro 机型可用,存储传感器数据

HEIC 大约将照片存储空间减半。在 50 GB 的 iCloud 空间(免费套餐)下,HEIC 和 JPEG 的差距意味着大约多存 14,000 张照片。Apple 是卖存储升级的,这笔商业账从来不难算。

底层的压缩算法是 HEVC(H.265),和 4K 蓝光及流媒体视频用的是同一个编解码器。HEVC 在同等视觉质量下的压缩效率大约是 JPEG 基于 DCT 的压缩的两倍,而且它支持 16 位色深,这是 JPEG(8 位)做不到的。从技术层面来说,HEIC 是更好的格式。想深入了解字节级别的结构,我们的 HEIC 技术深度解析 会带你走一遍 ISOBMFF box 和文件签名。

代价是兼容性,而这个代价至今没有解决。

HEIC 仍在哪些地方出问题

环境HEIC 支持替代方案
iPhone(iOS 11+)原生支持无需
Mac(macOS High Sierra+)原生支持无需
Windows 10/11需要 HEIF 图像扩展(Microsoft Store 售价 $0.99,或通过 OEM 捆绑免费)转换为 JPG
Windows 7/8无支持转换为 JPG
Android 9+原生支持(因厂商而异)如不兼容则转换
Chrome/Firefox/Edge不支持在 <img> 标签中渲染 HEIC上传到网页前先转换
Safari(macOS/iOS)原生渲染 HEIC无需
Adobe Photoshop需要 Camera Raw 11.2+先转换,或更新软件
大多数 CMS(WordPress、Squarespace)上传时转换,去除元数据上传原始文件,让 CMS 转换
邮件附件取决于收件人设备发送前先转换
社交媒体(Instagram、X、Facebook)上传时服务端转换平台自己处理

浏览器那一栏是最痛的。Chrome、Firefox 和 Edge 加起来占桌面浏览的大约 85%。它们没有一个能在 <img> 标签里显示 HEIC 文件。如果你运营一个网站且用户上传 HEIC 照片,在你的后端转换它之前,它不会渲染出来。

处理 HEIC 文件的三种方式

1. 更改 iPhone 相机设置

一劳永逸的方案。前往设置 → 相机 → 格式,从"高效"切换为"兼容性最佳"。

这意味着:相机应用将照片保存为 JPEG 而非 HEIC。视频保存为 H.264 而非 HEVC。文件体积翻倍,兼容性问题消失。

什么时候该这样做:如果你经常发照片给 Windows 用户、上传到对 HEIC 水土不服的 Web 应用,或者使用 2017 年以后就没更新过的软件。存储成本是真实的(一台 256 GB 的 iPhone 拍 JPEG 确实会更快填满),但每张照片都要转换的摩擦成本可能更高。

什么时候不该:如果你主要在 Apple 生态内分享、使用 iCloud 照片图库(导出时透明地处理格式转换),或者存储空间比偶尔的兼容性问题更重要。

2. 拍摄后再转换

相机保持"高效"模式。当你需要在 Apple 生态之外分享照片时再转换。这样既保留了 HEIC 在你手机上节省的存储空间,又在需要兼容性的地方(其他地方)获得了 JPEG 的便利。

我们的 HEIC 转 JPG 转换器在你的浏览器中运行。拖入一个 HEIC 照片文件夹,得到一个 JPEG 文件夹。无需上传、无需注册、无需安装。转换器用 WebAssembly 编译的 libheif(和 Linux 上支持 HEIC 的是同一个 C 库)解码每个 HEIC 文件,然后以 90% 质量编码为 JPEG——在任何屏幕上与源文件视觉上无法区分。

质量说明:

  • 这是从一个有损格式到另一个有损格式的转换。同等视觉质量下,输出的 JPEG 大约是源 HEIC 的 2 倍大。这很正常:JPEG 需要更多比特才能达到相同的感知阈值。
  • 转换为 PNG(HEIC 转 PNG)会得到一个无损文件,但体积是原始 HEIC 的 5–8 倍。如果你打算进一步编辑照片,这有用;如果你只是分享,就是浪费。
  • 转换为 WebP(HEIC 转 WebP)得到的文件大约和 HEIC 源文件一样大,且拥有广泛的浏览器支持(Chrome、Firefox、Edge 和 Safari 14+ 都能渲染 WebP)。

3. 使用 iCloud 的内建导出

当你从 Mac 照片应用或 iCloud.com 导出照片时,你可以选择格式。"导出未修改原片"给你原始的 HEIC 文件。"导出为 JPEG"在导出时转换。

这适用于偶尔分享。但不适用于批量操作:通过照片应用一张一张导出 200 张照片是对耐心的考验。大批量的时候,专用转换器更快。

HEIC vs HEIF:命名的困惑

Apple 把这个格式叫 HEIC。标准名称是 HEIF(High Efficiency Image File Format,ISO/IEC 23008-12)。区别如下:

  • HEIF 是容器标准。它可以容纳静态图像、图像序列(连拍)和图像集合。
  • HEIC 是 Apple 对包含 HEVC 编码图像的 HEIF 文件的品牌。.heic 扩展名是 Apple 的约定。标准 .heif 扩展名存在但几乎没人用。
  • HEIF 文件也可以包含 AVC(H.264)或 AV1 编码的图像。Apple 选择 HEVC 是因为他们已经在视频中使用了它,并且已经处理好了授权。

在实践中,.heic.heif 文件在结构上是完全相同的(两者都是 ISOBMFF 容器),能处理一种的工具就能处理另一种。区别只在于 ftyp box 中的品牌标记:heic vs heif vs mif1

转换期间的元数据发生了什么

HEIC 文件在 meta box 中的 Exif 条目内携带 EXIF 元数据。当我们的转换器将 HEIC 文件解码为原始像素并重新编码时,这些元数据不会被保留。输出文件只包含压缩后的像素数据,别无他物。

对于大多数分享场景来说,这是特性,不是缺陷。你的 iPhone 在每个 HEIC 文件中嵌入了 GPS 坐标、时间戳、相机序列号,有时还有未经编辑图像的缩略图。分享原始文件意味着分享所有这些。我们的 EXIF 隐私指南完整列出了里面有什么以及如何自己读取它们。

如果你需要保留元数据(用于归档或专业工作流),请使用 Apple 的导出工具或支持元数据的转换器,如 ExifTool。

HEIC 批量工作流

最常见的场景:你有一个 HEIC 照片文件夹,需要 JPEG 给客户、CMS 或分享平台。

  1. 打开 HEIC 转 JPG
  2. 将文件夹拖入拖放区域。所有 .heic.heif 文件进入处理队列;非 HEIC 文件会被跳过并给出清晰标签。
  3. 如有需要,调整质量滑块(默认 90 几乎适用于一切场景)。
  4. 等待处理完成。200 张照片的文件夹在现代笔记本上大约需要一分钟。
  5. 逐个下载,或打包成单个 ZIP 下载。

同样的工作流通过对应的转换器页面也适用于 PNG 和 WebP 输出。详见我们的批量转换教程,包括格式选择、质量权衡和浏览器特定的下载行为。

简短总结

  • HEIC 节省存储空间,但在 Apple 设备和 Android 9+ 之外到处出问题。
  • 如果你经常在 Apple 生态之外分享照片,把相机切换到"兼容性最佳"(JPEG)或者发送前批量转换。
  • 偶尔分享,iCloud 导出就行。大批量时,浏览器端转换器更快,且文件留在你的设备上。
  • 转换为 JPG 是安全默认值。WebP 更小且浏览器支持广泛。PNG 用于编辑工作流,不是分享。
  • 元数据在转换中不会保留,对于公开分享照片这通常正是你想要的。

更多推荐阅读