事情的起因是一张阳台照片
上个月我在二手平台出掉了用了四年的富士 X-T3,买家第一句话不是问快门数,而是「你拿手机拍张相机背面的计数器给我看下」。我站在阳台上顺手拍了一张直出 JPG 发过去,对方过了几分钟回我一句:你这张照片的 GPS 定位在西溪路某个小区,你是住这儿?我当时就愣住了——我压根没开过任何定位软件,照片就是随手拍的。
后来我才搞清楚,iPhone 相机默认就带定位权限,从 iOS 的「设置 → 隐私与安全性 → 定位服务 → 相机」进去看,默认是「使用 App 期间」,也就是说你按下快门的那一刻,经纬度已经写进文件里了。那天晚上我把电脑里几百张图翻了一遍,越翻越上火,干脆花了两个周末把这件事从头到尾测了一遍。
一张 JPG 里到底塞了多少东西
大部分人以为「图片信息」就是属性面板里那行「尺寸 4032×3024」,其实一张没被处理过的原图,信息是分好几层叠在一起的。最外层是文件系统层,文件名、创建时间、修改时间,这部分跟文件内容无关,复制粘贴都会变;往里是 EXIF,相机或手机写入的拍摄参数,字段最多,包括 Make、Model、LensModel、ExposureTime、FNumber、ISO、FocalLength、DateTimeOriginal(精确到秒)、GPSLatitude / GPSLongitude / GPSDOP 精度因子,部分机型还会写入 BodySerialNumber 机身序列号。
再往里是 XMP,主要记录后期编辑历史,比如 Lightroom 的调整记录、评级、关键词;IPTC 一般是新闻机构用的,存作者、版权、标题;最底层还有 ICC 色彩配置文件,常见的是 sRGB IEC61966-2.1。你现在手机里那张随手拍,这些层基本都有。
还有一块几乎没人提:缩略图。很多相机和手机会在 EXIF 里内嵌一张 160×120 左右的小缩略图。我拿一张自己打了码的证件照做过实验,用 exiftool -b -ThumbnailImage IMG.JPG > thumb.jpg 把缩略图导出来,里面是打码前的完整画面。这个坑在发身份证、发合同照片的时候最容易踩,因为多数「马赛克工具」只改主图,不动缩略图。
同一张照片,走不同发送路径剩下什么
我拿同一张 iPhone 原图(4032×3024,4.2 MB,带完整 GPS)走了几条常见路径,用 exiftool 把字段逐条对了一遍。下表是我这几张图的测试结果,不代表平台永久策略,仅供对照:
| 发送方式 | 文件大小 | 长边像素 | GPS | DateTimeOriginal | 机型 | 机身序列号 |
|---|---|---|---|---|---|---|
| 原图(未处理) | 4.2 MB | 4032 | 有,误差约 5 米 | 有 | 有 | 有 |
| 微信勾「原图」 | 4.1 MB | 4032 | 有 | 有 | 有 | 有 |
| 微信不勾「原图」 | 328 KB | 1560 | 无 | 部分保留 | 有 | 无 |
| 微博上传 | 210 KB | 1440 | 无 | 无 | 无 | 无 |
| 小红书发布 | 186 KB | 1440 | 无 | 无 | 无 | 无 |
| AirDrop 传输 | 4.2 MB | 4032 | 有 | 有 | 有 | 有 |
| 网盘直传 | 4.2 MB | 4032 | 有 | 有 | 有 | 有 |
第二行和第三行的差距是重点:微信不勾原图确实会重新编码,EXIF 基本清空;但你只要勾了那个小小的「原图」,整份元数据是原封不动过去的。2020 年那波「发原图泄露位置」的热搜,腾讯的回应是「用户可以选择不发送原图」,而不是「我们会自动剥离」——现在还是这个逻辑。
自己怎么查,三个平台的具体操作
Windows 最快的方式是右键图片 → 属性 → 详细信息,能看到机型、光圈、ISO,但 GPS 和序列号这块它经常显示不全。想看完整的,去 exiftool.org 下 Windows 版,解压后把图片直接拖到 exiftool.exe 图标上就跑完了。命令行版有三个常用参数:exiftool IMG_1234.JPG 看基础信息,exiftool -a -G1 -s IMG_1234.JPG 按分组(EXIF / XMP / ICC / MakerNote)把所有字段列全,exiftool -gps:all -n IMG_1234.JPG 只吐 GPS 的十进制数值,可以直接粘进地图搜。
macOS 是预览打开图片 → 工具 → 显示检查器 → 点那个 i 图标,会分栏显示 Exif、GPS、IPTC。但这个界面是过滤版的,MakerNote 和 XMP 里大部分字段看不到。要全的还得装 exiftool,Homebrew 一行 brew install exiftool,三分钟搞定。
手机端最简单的办法是相册里点「详情」或者图片上滑,iOS 会直接显示位置和拍摄参数。但有个坑:iOS 照片 App 显示的定位是从索引缓存里读的,你手动删掉 EXIF 之后它偶尔还会显示旧位置,别拿这个当准绳,还是得用电脑端工具复核。
我的一个不太一样的看法
关于图片信息,网上的主流叙事是「隐私风险」,教你怎么一键删 GPS。但我折腾这两个月下来,觉得真正吃亏的场景恰恰相反——是你把信息弄丢了。
去年我写过一篇稿子,配图是自己拍的,后来平台说图片侵权,要我提供原创证明。我翻遍相册,发现当初为了「安全」用过一轮批量清理工具,exiftool -all= 一把梭全删了,连拍摄时间都没留。最后是靠手机相册按时间线倒查才勉强对上,特别狼狈。
所以我现在的做法是双轨制:对外发布的图,一律走压缩或者手动定向清;自己归档的原图,一个字段都不动,存在一块单独的移动硬盘上,按年月建文件夹。将来要维权、要核对拍摄时间、要证明设备归属,原件还在。顺序上,先归档再处理,别反过来。
再提醒一个坑:exiftool -all= 会把 ICC 色彩配置文件也一起干掉,一些 Adobe RGB 的照片清完之后在浏览器里看会发灰。要清就定向清,比如 exiftool -GPS:all= -SerialNumber= -BodySerialNumber= -overwrite_original *.jpg,别一把梭全删。
接下来会变复杂的一件事
以前图片信息只记录「谁拍的、什么时候、在哪」,现在多了一层:这张图是不是 AI 生成的。Adobe 牵头的 C2PA 联盟推的 Content Credentials 内容凭证,会把生成模型、编辑步骤、有没有 AI 参与写进图片签名里。你用 Photoshop 的 Firefly 生成一张图,下载下来用工具看,是能看到「Generated by Adobe Firefly」这类记录的。
问题是传播链路会把这层信息切得七零八落。我试过把一张带内容凭证的 PNG 转成 JPG 再压缩一次,签名直接失效。也就是说未来两三年,判断一张图真假的成本可能比现在更高,而不是更低——有的图带凭证,有的图凭证被平台吃掉了,有的图凭证是伪造的。
对普通用户来说,最实际的建议是:收到来源不明的图,先看有没有元数据,再看元数据跟画面本身矛不矛盾。比如一张号称在国外拍的街景,DateTimeOriginal 却是北京时间凌晨三点,这种对不上就值得多问一句。别把 EXIF 当铁证,它只是一条线索。