标签: HEIC

  • HEIC 是什么,iPhone 的照片为什么在电脑上打不开

    把 iPhone 拍的照片传到电脑上,双击打不开;想上传到某个系统,提示”不支持的格式”。这不是文件坏了,只是苹果从 2017 年开始换了一种存储格式。

    HEIC 到底是什么

    HEIC 是 HEIF(High Efficiency Image Format)格式的一种扩展名。它是视频编码标准 HEVC/H.265 的静态图像版本——既然 H.265 能用一半体积存下同样质量的视频,那么用同样的压缩技术存照片,自然也能小很多。

    实际效果大概是:同等画质下,HEIC 比 JPEG 小 40%–50%。对一台存了几千张照片、存储又很贵的手机来说,这个收益足够大,所以苹果从 iOS 11 起把它设成了默认。

    HEIC 还有几个 JPEG 做不到的能力:支持透明通道、支持连拍序列(Live Photo 的动态部分)、支持 16 位色深。

    为什么到处都打不开

    两个原因叠加:

    • 专利授权:HEVC 涉及多个专利池,授权体系复杂,很多厂商(尤其开源社区)出于法律风险不愿意内置支持。
    • 惯性:JPEG 诞生于 1992 年,三十多年下来几乎所有软件、所有系统、所有网站都认它。要替换的是一个生态,不只是一个格式。

    目前的情况是:macOS 原生支持,iOS 原生支持,Windows 需要装扩展,Android 新版本支持,而大量网站和内部系统只收 JPG/PNG。

    浏览器里就能解码,不用上传

    过去转换 HEIC 要么装软件,要么传到在线转换网站。后者的风险和压缩工具一样——你的照片要先去别人的服务器上转一圈。

    现在有另一条路:把 HEVC 解码器编译成 WebAssembly,直接在浏览器里跑。页面加载一次解码器(几 MB),之后所有转换都在本地内存完成,文件不出设备。

    技术上大致是这样:

    读取 File 对象 → 交给 WASM 解码器 → 得到原始像素 → 用 Canvas 重新编码为 JPG/PNG → 生成下载链接

    代价是首次加载要下载解码器,之后就很快了。相比”把照片传给陌生服务器”,这个代价完全可以接受。

    转换的代价:这是有损的

    需要先说清楚一件事:HEIC 转 JPG 必然损失质量,因为两者是不同的编码方式,不存在”无损转换”。

    实际影响有多大,取决于原图:

    • 普通照片、风景、人像:转完几乎看不出差别。
    • 高动态范围、暗部细节丰富的图:可能出现色带。
    • 如果要转成 JPG 再打印或放大,建议用高质量参数(85 以上)。

    所以正确的顺序是:先转,再压缩,而不是压完再转。每一步有损操作都该只做一次。

    什么情况下不要转

    • 只是要在 Mac 或 iPhone 之间传看——完全没必要,原生就能打开。
    • 要长期归档——保留 HEIC 原片,需要用时再转。转出来的 JPG 是”一次性成品”。
    • 对方系统明确支持 HEIC——多问一句能省一次转换。

    如果你现在就需要转,工具箱里的 格式转换可以处理 HEIC 输入,同样全程在浏览器本地完成。