Exiftool DateTimeOriginal 返回数字
Exiftool DateTimeOriginal returning numbers
在 Windows 上使用 Phil Harvey 的 Exiftool 版本 12.31 时,DateTimeOriginal 字段返回数字,这似乎是一个 HEX 值,但它太大而没有任何意义。作为 DEC 值,它也没有任何意义,所以我想它可能是某种元组,但我不知道如何解析它(它不应该被 Exiftool 解析吗?)。
这里是 link to the original image.
> exiftool -DateTimeOriginal "DSC02102.JPG"
Date/Time Original : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0
不知何故Windows 可以获得正确的日期和时间 (2021-12-07 15:55),所以我认为文件元数据没有损坏。
如何使用 Exiftool 获取正确的日期和时间?
这是 exiftool FAQ #3. Because you haven't included the -G
(-groupNames
) option and the -a
(-duplicates
) option,您没有看到所有数据。当你包含这些选项时,你会看到这个
C:\>exiftool -G1 -a -s -DateTimeOriginal Y:\!temp\aa\bbb\DSC02102.JPG
[ExifIFD] DateTimeOriginal : 2021:12:07 15:55:24
[IFD0] DateTimeOriginal : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0
如您所见,文件中有多个 DateTimeOriginal
标签。该标签的标准位置在 EXIF 块的 ExifIFD
子组中并且具有正确的值,这就是 Windows 可以读取它的原因。 IFD0
子组中的第二个 DateTimeOriginal
不合适。如果将第二个标签中的每个数字转换为 ASCII 字符,您会看到它与正确的 DateTimeOriginal
标签具有相同的值,只是十六进制值。
另一个有用的 exiftool 命令是验证文件以查看存在什么问题
C:\>exiftool -g1 -a -s -warning -validate Y:\!temp\aa\bbb\DSC02102.JPG
---- ExifTool ----
Warning : [minor] Possibly incorrect maker notes offsets (fix by 4088?)
Warning : [minor] Suspicious MakerNotes offset for Tag9401
Warning : [minor] Non-standard ExifIFD tag 0xea1c Padding
Warning : [minor] Non-standard ExifIFD tag 0xea1d OffsetSchema
Warning : Non-standard format (int32s) for GPS 0x0005 GPSAltitudeRef
Warning : Wrong IFD for 0x9003 DateTimeOriginal (should be ExifIFD not IFD0)
Warning : Non-standard format (int8u) for IFD0 0x9003 DateTimeOriginal
Warning : [minor] Invalid date/time format for EXIF:DateTimeOriginal
Warning : Wrong IFD for 0x9004 CreateDate (should be ExifIFD not IFD0)
Warning : Non-standard format (int8u) for IFD0 0x9004 CreateDate
Warning : [minor] Invalid date/time format for EXIF:CreateDate
Warning : [minor] Non-standard IFD0 tag 0xea1c Padding
Warning : Missing required JPEG ExifIFD tag 0xa001 ColorSpace
Validate : 13 Warnings (7 minor)
您可以使用此命令删除不正确的标签
exiftool -IFD0:DateTimeOriginal= file.jpg
要提取正确的标签,您必须指定子组
exfitool -ExifIFD:DateTimeOriginal file.jpg
在 Windows 上使用 Phil Harvey 的 Exiftool 版本 12.31 时,DateTimeOriginal 字段返回数字,这似乎是一个 HEX 值,但它太大而没有任何意义。作为 DEC 值,它也没有任何意义,所以我想它可能是某种元组,但我不知道如何解析它(它不应该被 Exiftool 解析吗?)。
这里是 link to the original image.
> exiftool -DateTimeOriginal "DSC02102.JPG"
Date/Time Original : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0
不知何故Windows 可以获得正确的日期和时间 (2021-12-07 15:55),所以我认为文件元数据没有损坏。
如何使用 Exiftool 获取正确的日期和时间?
这是 exiftool FAQ #3. Because you haven't included the -G
(-groupNames
) option and the -a
(-duplicates
) option,您没有看到所有数据。当你包含这些选项时,你会看到这个
C:\>exiftool -G1 -a -s -DateTimeOriginal Y:\!temp\aa\bbb\DSC02102.JPG
[ExifIFD] DateTimeOriginal : 2021:12:07 15:55:24
[IFD0] DateTimeOriginal : 50 48 50 49 58 49 50 58 48 55 32 49 53 58 53 53 58 50 52 0
如您所见,文件中有多个 DateTimeOriginal
标签。该标签的标准位置在 EXIF 块的 ExifIFD
子组中并且具有正确的值,这就是 Windows 可以读取它的原因。 IFD0
子组中的第二个 DateTimeOriginal
不合适。如果将第二个标签中的每个数字转换为 ASCII 字符,您会看到它与正确的 DateTimeOriginal
标签具有相同的值,只是十六进制值。
另一个有用的 exiftool 命令是验证文件以查看存在什么问题
C:\>exiftool -g1 -a -s -warning -validate Y:\!temp\aa\bbb\DSC02102.JPG
---- ExifTool ----
Warning : [minor] Possibly incorrect maker notes offsets (fix by 4088?)
Warning : [minor] Suspicious MakerNotes offset for Tag9401
Warning : [minor] Non-standard ExifIFD tag 0xea1c Padding
Warning : [minor] Non-standard ExifIFD tag 0xea1d OffsetSchema
Warning : Non-standard format (int32s) for GPS 0x0005 GPSAltitudeRef
Warning : Wrong IFD for 0x9003 DateTimeOriginal (should be ExifIFD not IFD0)
Warning : Non-standard format (int8u) for IFD0 0x9003 DateTimeOriginal
Warning : [minor] Invalid date/time format for EXIF:DateTimeOriginal
Warning : Wrong IFD for 0x9004 CreateDate (should be ExifIFD not IFD0)
Warning : Non-standard format (int8u) for IFD0 0x9004 CreateDate
Warning : [minor] Invalid date/time format for EXIF:CreateDate
Warning : [minor] Non-standard IFD0 tag 0xea1c Padding
Warning : Missing required JPEG ExifIFD tag 0xa001 ColorSpace
Validate : 13 Warnings (7 minor)
您可以使用此命令删除不正确的标签
exiftool -IFD0:DateTimeOriginal= file.jpg
要提取正确的标签,您必须指定子组
exfitool -ExifIFD:DateTimeOriginal file.jpg