技术··5 分钟阅读

HEIC 是什么、iPhone 为什么用、什么时候要转换

HEIC 的简短科普:它从哪儿来、为什么照片更小、为什么这么多工具仍打不开、以及当你需要把照片发去别处时如何转换。

你在 iPhone 上拍了张照、丢进某个网站,然后看到一句礼貌的错误:"不支持的文件格式"。欢迎来到 HEIC 转换难题。

这篇文章讲清楚 HEIC 到底是什么、为什么 Apple 默认用它、为什么 2026 年它仍然别扭、以及如何在不上传照片的情况下转换。

HEIC 是什么

HEIC 是一个容器格式。文件里实际的图像数据用 HEVC(也叫 H.265)编码,这是多数 4K 流媒体也在用的视频编码。HEIC 借用这个编码,把它应用到单帧而非视频流上。

文件扩展名可以是 .heic 或 .heif(HEIF 是更大的标准;HEIC 是 HEVC 编码的子集)。HEIF 文件也可以包装 AVIF(AV1 编码),但实际上你在 iPhone 上看到 .heic,里面就是 HEVC。

Apple 从 2017 年的 iOS 11 起默认 HEIC。之后你 iPhone 拍的每张照片都是 HEIC,除非你在相机设置里明确切到了"最兼容"。

Apple 为什么选它

在感知等质量下,HEIC 文件比相同 JPEG 通常小 40–50%。对一台拍数千张照片同步到 iCloud 的手机来说,这积累起来很可观。既省存储也省上传时间。

HEIC 也支持 JPEG 没有的有用特性:

  • 一个文件里多张图(实况照片、连拍序列)。
  • 人像模式的深度图。
  • 10 位色深与 HDR。
  • 辅助的 alpha 与图像数据。

在 Apple 紧密整合的栈里(相机 app、照片 app、iCloud、AirDrop),这些特性无缝衔接。代价是:HEIC 在该生态之外更难读。

为什么这么多工具仍然摔在它上面

  • 专利。HEVC 涉及专利。解码 / 编码需要 MPEG-LA、HEVC Advance、Velos Media 的授权。开源项目、浏览器、免费工具历史上为了避免版税风险,避免内置 HEVC 支持。
  • 浏览器无原生解码。直到非常近期,没有浏览器会渲染 HEIC 标签。情况在改善(Safari 17 原生支持,其他依赖 JS/WASM),但假设 HEIC 能在 <img> 里显示仍然是错误。
  • 遗留 Windows。Windows 10/11 需要从商店装一个扩展才能看 HEIC,而该扩展的编码端是付费下载。
  • 按扩展名过滤的上传器。很多表单在读字节之前就按文件名检查、拒掉非 .jpg / .png 的东西。

什么时候需要转换

  • 上传到拒绝 .heic 的网站。
  • 发给 Windows 或老款 Android 用户。
  • 嵌入 Word 文档或要打印的 PDF。
  • 在还不支持 HEIC 的软件里编辑(一些老的 Lightroom 安装、不带插件的 GIMP、老版本 Affinity)。
  • 发到会静默转码的社交平台时(你想自己控制转码质量)。

如何转得更不损失质量

HEIC → JPEG 两边都是有损的。HEIC 保存的是原始传感器数据的有损版本,JPEG 又一次有损重编码。把可见损失降到最小:

  • JPEG 质量保持在 85–92。低于这个会有可见的双重压缩伪影。高于这个体积涨得很快但视觉收益小。
  • 需要更小像素数时再调整大小。同分辨率下,下采样后的高质量 JPEG 比同分辨率的低质量 JPEG 视觉上好得多。
  • 追求最高质量归档,转成 PNG(无损)。文件会大 3–5 倍,但保留 HEIC 解码后的每个像素。

在浏览器内转

AinnoBox 把 libheif 编译成 WASM,在你的浏览器内解码 HEIC,然后用 Canvas API 重编码为 JPG(或 PNG)。文件不离开你的设备。

相关工具:

想完全跳过这个问题

在 iPhone 上换默认拍摄格式:

  1. 设置 → 相机 → 格式
  2. 最兼容,而不是 高效率

之后 iPhone 会以 JPEG 保存照片,而不是 HEIC。失去存储节省但获得普适兼容。如果你拍照的多数用途是发去 Apple 生态外的地方,这个交换是合理的。

相关阅读

继续阅读