1、Exif 格式分析2010-03-04 17:361133人阅读评论(4)收藏举报大概翻译了一下,非常的粗糙,慢慢修正。请高手自动飘过因为做图像压缩时会损失相机写入的如光圈、快门等信息,所以自己写了个图像压缩小玩意,顺便研究了一下 Exif。原文地址: Exif file formatJPEG 格式和标志JPEG 文件都是以十六进制0xFFD8开始,以0xFFD9结束。在 JPEG 数据中有像0xFF*这样的数据,这些被称为“标志” ,它表示 JPEG 信息数据段。0xFFD8 表示 SOI(Start of image 图像开始) ,0xFFD9表示 EOI(End of image 图像结
2、束) 。这两个特殊的标志没有附加的数据,而其他的标志在标志后都带有附加的数据。基本的标志格式如下:0xFF + 标志数字( 1字节)+ 数据大小(2字节)+ 数据(n 字节)数据大小 (2字节) 是大端顺序表示(Motorola 方式) ,从高字节开始。请注意“数据”包含了数据大小的描述,如果一个标志为:FF C1 00 0C则表示标志0xFFC1有0x000C(十进制12 )个字节的数据,但是数据的大小12 也包含了记录“数据大小”的字节,所以在0x000C 后面只有10个字节的数据量。在 JPEG 格式中,一些标志描绘数据后,跟着的就是 SOS(Start of stream 数据流开始)
3、标志。在 SOS 标志之后,就是 JPEG 图像流,直到 EOI 标志终结。SOI MarkerMarker XX size=SSSS Marker YY size=TTTTSOS Marker size=UUUUImage streamEOI MarkerFFD8 FFXX SSSS DDDD FFYY TTTT DDDD FFDA UUUU DDDD I I I IFFD9Exif 中使用的标志从0xFFE0 0xFFEF 的标志是“应用程序标志” ,在解码 JPEG 图像的时候不是必需使用的。这些标志被用在用户应用中。例如:老款的 Olympus(奥林巴斯) 、canon(佳能) 、ca
4、sio(卡西欧) 、Agfa(爱克发)的数码相机使用JFIF(JPEG 档案交换格式)来存储相片的。JFIF 使用 APP0(0xFFE0 )标志来插入数码相机的配置数据和缩略图的。Exif 也使用应用程序标志来插入数据,但是 Exif 使用 APP1(0xFFE1)标志以避免和 JFIF 格式冲突。每个 Exif 文件格式都是从下面格式开始的:SOI Marker APP1 Marker APP1 Data Other MarkerFFD8 FFE1 SSSS 457869660000 TTTT FFXX SSSS DDDD从 SOI(0xFFD8)标志开始,所以这是一个 JPEG 文件。后
5、面随即跟着个一个APP1标志。所有的 Exif 数据都储存在 APP1数据区中。在上表中的“SSSS“ 部分表示 APP1数据(Exif 数据区域) 的大小。请注意其大小“SSSS“包括大小描述“SSSS“其本身。APP1的数据从“SSSS“ 后开始。第一部分是特殊数据,使用 ASCII 字符“Exif“和两个字节的0x00 ,它定义了是否使用 Exif。APP1标志数据之后,是其他 JPEG 标志。Exif 数据结构大略的 Exif 数据结构( APP1)如下。它采用了“Intel“的小端字节顺序方案,且包含 JPEG 格式的缩略图。总体上,Exif 数据是从 ASCII 字符“Exif“和
6、2 个字节的0x00开始,后面就是 Exif 的数据了。Exif 使用 TIFF 格式来存储数据。想知道更多关于 TIFF 格式内容,请浏览 “TIFF6.0 specification“。FFE1 APP1 MarkerSSSS APP1 Data Size45786966 0000 Exif Header49492A00 08000000 TIFF HeaderXXXX. . . . DirectoryLLLLLLLLIFD0 (main image) Link to IFD1XXXX. . . . Data area of IFD0XXXX. . . . Directory0000000
7、0Exif SubIFD End of LinkXXXX. . . . Data area of Exif SubIFDXXXX. . . . Directory00000000Interoperability IFD End of LinkXXXX. . . . APP1 DataData area of Interoperability IFDXXXX. . . . Directory00000000Makernote IFD End of LinkXXXX. . . . Data area of Makernote IFDXXXX. . . . Directory00000000IFD1
8、(thumbnail image) End of LinkXXXX. . . . Data area of IFD1FFD8XXXX. . . XXXXFFD9 Thumbnail imageTIFF 头的格式TIFF 头指的是 TIFF 格式的前8个字节。前两个字节定义了 TIFF 数据采用何种字节顺序。如果是0x4949 = “II“,表示采用“Intel“的小端字节顺序,如果为0x4d4d = MM“,表示采用“Motorola“的大端字节顺序。例如:值305,419,896用十六进制表示为0x12345678.在 Motorola 的大端字节顺序中以0x12,0x34,0x56,0x7
9、8的顺序存储。如果采用 Intel 的小端字节顺序,则以0x78,0x56,0x34,0x12的顺序存储。现在来看,大多数数码相机采用 Intel 的方式。Ricoh (理光)采用了 Motorola 的方式。Sony(索尼)除了 D700都采用Intel 的的字节顺序。 Kodak(柯达)DC200/210/240采用 Motorola 方式,但是 DC220/260使用 PowerPC 却采用了 Intel 的方式!因此我们在获取 Exif 数据时,必须每次都确认它的字节顺序。虽然 JPEG 数据只采用 Motorola 方式的字节顺序,但 Exif 却允许采用两种方式。我不明白为什么 E
10、xif 不修改字节顺序为 Motorola 方式。然后的两个字节总是2个字节长度的 0x002A。如果数据采用 Intel 的字节顺序,这两个字节为“0x2A,0x00“ 。如果采用 Motorola 的字节顺序,则为“0x00,0x2A“。TIFF 头的最后4 个字节是第一个 IFD(Image File Directory, described in next chapter 图像文件目录,描述下一个字符)的偏移量。在 TIFF格式中所有的偏移量都是从 TIFF 头的第一个字节(“II“或者“MM“)开始计算的到所在位置的字节数目,这个偏移量也不例外。通常第一个 IFD 是紧跟在TIFF
11、头后面的,所以它的偏移量为0x00000008。Byte align TAG Mark Offset to first IFD“I I“ or “MM“ 0x002a 0x00000008IFD:图像文件目录(Image file directory )接着 TIFF 头的是第一个 IFD。它包含了图像信息数据。在下表中,开始的两个字节(EEEE)表示这个 IFD 所包含的目录实体数量。然后紧跟着就是实体对象(每个实体12个字节) 。在最后一个目录实体后面有一个 4字节大小的数据(表中的是LLLLLLLL) ,它表示下一个 IFD 的偏移量。如果这个偏移量的值是0x00000000,就表示这个
12、 IFD 是最后一个 IFD。EEEENo. of directory entryTTTT ffff NNNNNNNN DDDDDDDD Entry 0TTTT ffff NNNNNNNN DDDDDDDD Entry 1. . . . . . . . . . . . . . .TTTT ffff NNNNNNNN DDDDDDDD Entry EEEE-1LLLLLLLL Offset to next IFD上表中的TTTT (2字节)是标签号,代表各种数据。 ffff(2 字节)是数据格式。NNNNNNNN(4字节)是组成元素的数量。DDDDDDDD (4字节) 包含数据本身或者数据的偏移
13、量。数据格式数据格式(上表中的FFFF)如下表所定义的一样。“rational“表示一个分数,它包含两个 signed/unsigned long integer 值并且第一个为分子,第二个为分母。Value 1 2 3 4 5 6Format unsigned byte ascii strings unsigned short unsigned long unsigned rational signed byteBytes/component 1 1 2 4 8 1Value 7 8 9 10 11 12Format undefined signed short signed long si
14、gned rational single float double floatBytes/component 1 2 4 8 4 8你可以用组成元素的字节数(bytes/components)的值(见上表)乘以储存在NNNNNNNN区域中的组成元素的数量得到数据总长度。如果这个总长度小于4个字节,那么DDDDDDDD中的是这个标签(Tag )的值。如果总长度大于等于4个字节,DDDDDDDD中的是数据存储地址的偏移量。IFD 数据结构在 Exif 格式中,第一个 IFD 是 IFD0(主图像的 IFD) ,它链接着 IFD1(缩略图的 IFD)后 IFD 链终止。带式 IFD0/IFD1不包含
15、像快门速度,焦距等任何数码相机的信息。IFD0总是包含特殊的标签(Tag)Exif 的偏移量(0x8769),它说明道 Exif SubIFD(子 IFD)的偏移量。Exif SubIFD(子 IFD)也是 IFD 的格式,它包含了数码相机的信息。 、Exif 格式的扩展方案( Exif2.1/DCF)中,Exif SubIFD 包含了特殊标签 Exif 互用偏移量(Exif Interoperability Offset) (0xA005) 。它指向互用的IFD(Interoperability IFD) 。在 DCF(数码相机格式)规范中,这个标签是必须的且子 IFD(SubIFD(主图像
16、 IFD) )和 IFD1(缩略图 IFD)都可以带使用互用的 IFD(Interoperability IFD) 。通常,只有主图像使用带有这个标签。一些数码相机使用 IFD 数据格式来表示制造商数据 制造商特殊的神秘数字区。要小心的编写程序,因为很难区分制造商数据是否使用了 IFD 格式。附录中有一些制造商数据的信息。0000: 49 49 2A 00 08 00 00 00-02 00 1A 01 05 00 01 000010: 00 00 26 00 00 00 69 87-04 00 01 00 00 00 11 020020: 00 00 40 00 00 00 48 00-00
17、 00 01 00 00 00如果上面数据为 TIFF 数据的第一个部分,那么可以解释为:头两个字节为“II“,是Intel的字节顺序;地址0x00040x0007是 is 0x08000000,IFD0 从地址0x0008开始;地址0x00080x0009 是 0x0200,吗,IFD0有2 个目录实体;地址0x000a0x000b 是 0x1A01, 表示这是一个水平分辨率(XResolution) (0x011A)标签,它包含了图像的水平分辨率;地址0x000c0x000d 是0x0500, ,这个值表示的格式是无符号分数(unsigned rational)(0x0005);地址0x0
18、00e0x0011 是 0x01000000,,组成元素数量是1,无符号分数(unsigned rational)的尺寸是8 字节,所有数据总长度为1 8 = 8字节;数据总长度大于4个字节,所以接下的 4个字节是数据的偏移量;地址0x00120x0015 是 0x26000000,水平分辨率(XResolution)的数据存储在0x0026;地址0x00260x0029 是 0x48000000,分子是72,地址0x002a0x002d 是0x0100000000,分母是1。所以水平分辨率(XResolution)是72/1;地址0x00160x0017是0x6987,下一个标签是 Exif
19、 偏移(ExifOffset )(0x8769)。它的值是 Exif 子 IFD(Exif SubIFD)的偏移量;数据格式是0x0004,无符号长整型(unsigned long integer) ;这个标签有一个元素。无符号长整型(unsigned long integer)长度为4个字节,所以数据总长度为4字节;总数据长度等于4字节,接下的 4个字节是 Exif 子 IFD(Exif SubIFD)的偏移量;地址0x001e0x0021是0x11020000,Exif 子 IFD(Exif SubIFD)从0x0211开始;这是最后一个目录实体,接下的4个字节表示下一个 IFD 的偏移量
20、;地址0x00220x0025 是 0x40000000,下一个 IFD 从0x0040 开始。缩略图Exif 格式包含图像的缩略图(除了 Ricoh (理光)RDC-300Z) 。缩略图通常在IFD1后面。共有3种格式的缩略图:JPEG 格式(JPEG 使用 YCbCr) ,RGB TIFF格式,YcbCr TIFF 格式。现在 Exif 2.1 或者更高版本是推荐使用 JPEG 格式和160120的缩略图。而 DCF 规范则必须使用 JPEG 格式和160120 的缩略图。JPEG 格式缩略图如果 IFD1中压缩(Compression)(0x0103)标签的值为6 ,那么缩略图是JPEG
21、 格式。大多数的 Exif 图像使用 JPEG 格式的缩略图。在这些图像中,你可以在 IFD1中 JpegIFOffset(0x0201)标签中,以及 JpegIFByteCount(0x0202)标签中分别获得缩略图的偏移量和大小。其数据格式为普通的 JPEG 格式,从0xFFD8 开始,到0xFFD9结束。TIFF 格式缩略图如果 IFD1中压缩(Compression)(0x0103)标签的值为1 ,那么说缩略图是非压缩的(TIFF 格式) 。缩略图的起点数据在 StripOffset(0x0111)标签,缩略图大小则是 StripByteCounts(0x0117)标签的和。如果缩略图
22、是无压缩的且 IFD1中标签 PhotometricInterpretation(0x0106)的值为2,则缩略图采用 RGB 格式。在这种情况中,你可以通过那数据复制到计算机中 RGB 格式(如 BMP 格式,或者复制到 VRAM 目录)等简单方法查看缩略图。Kodak(柯达)DC -210/220/260 就是使用这种格式。需要说明的是,TIFF 用RGB 的顺序储存像素数据,而 BMP 格式采用 BGR 顺序。如果标签值为2,那么缩略图采用 YcbCr 格式。如果你想查看缩略图,你必须要把它转换为 RGB。Ricoh(理光)RDC4200/4300, Fuji(富士)DS-7/300 a
23、nd DX-5/7/9 都是用这种格式(比较新的 RDC5000/MX-X00系列使用 JPEG 格式) 。Next section is brief description to conversion of Fuji DSs thumbnail. For more details, refer to TIFF6.0 specification.At DX-5/7/9, YCbCrSubsampling(0x0212) has values of 2,1, PlanarConfiguration(0x011c) has a value 1. So the data align of this
24、image is below.Y(0,0),Y(1,0),Cb(0,0),Cr(0,0), Y(2,0),Y(3,0),Cb(2,0),Cr(3.0), Y(4,0),Y(5,0),Cb(4,0),Cr(4,0). . . .The numeric in parenthesis is pixel coordinates. DX series YCbCrCoefficients(0x0211) has values 0.299/0.587/0.114, ReferenceBlackWhite(0x0214) has values 0,255,128,255,128,255. Therefore
25、to convert from Y/Cb/Cr to RGB is;B(0,0)=(Cb-128)*(2-0.114*2)+Y(0,0)R(0,0)=(Cr-128)*(2-0.299*2)+Y(0,0)G(0,0)=(Y(0,0)-0.114*B(0,0)-0.299*R(0,0)/0.587Horizontal subsampling is a value 2, so you can calculate B(1,0)/R(1,0)/G(1,0) by using the Y(1,0) and Cr(0,0)/Cb(0,0). Repeat this conversion by value
26、of ImageWidth(0x0100) and ImageLength(0x0101).Exif/TIFF 中使用的标签号Exif/TIFF 中使用的标签号如下所示。如果标签的元素数量有限制,则CompoNo 列就是最大允许的元素个数,如果 CompoNo 列为空,代表没有限制。IFD0 中使用的标签(主图像)Tag No. 标签名称 格式CompoNo Desc.0x010eImageDescription(图像描述)ascii string描述相片,不支持双字节的字符,如汉语、韩语、日语0x010fMake(制造商)ascii string数码相机制造商。在 Exif 标准中是可选的,
27、但在 DCF(数码相机格式)中是必需的。0x0110Model(型号)ascii string数码相机型号。在 Exif 标准中是可选的,但在 DCF(数码相机格式)中是必需的。0x0112Orientation(方向)unsigned short 1Value0th Row 0th Column1 top left side2 top right side3 bottom right side4 bottom left side5 left side top6 right side top7 right side bottom8 left side bottomThe orientation
28、 of the camera relative to the scene, when the image was captured. The relation of the 0th row and 0th column to visual position is shown as right.拍摄时的相机方向(横向还是纵向,那边朝上)。0x011aXresolution(水平分辨率)unsigned rational 10x011 Yresolution unsigned 1图像显示、打印的分辨率。默认值值是每英寸72像素,但是因为个人计算机不使用这个值来显示或者打印,所以这个值没有意义。b
29、(垂直分辨率)rational0x0128ResolutionUnit(分辨率单位)unsigned short 1水平或者垂直分辨率 XResolution(0x011a)/YResolution(0x011b)的单位,1表示没有单位,2表示英寸,3 表示厘米。默认为2 。0x0131Software(软件)ascii stringShows firmware(internal software of digicam) version number.固件(数码相机内软件)版本号。0x0132DateTime(日期时间) ascii string 20图像最后修改的日期时间。日期格式为“YYY
30、Y:MM:DD HH:MM:SS“ + 0x00,一共20字节。如果没有设置时钟或者数码相机没有时钟,这个区域可填充空格。通常,这个标签的值与 DateTimeOriginal(0x9003)的值相同。0x013eWhitePoint(白点)unsigned rational 2定义了图像白点的色度。如果图像使用CIE(国际照明委员会)标准亮度 D65(被认为是阳光的标准)的光源,这个值为3127/10000,3290/10000。0x013fPrimaryChromaticities(原色色度)unsigned rational 6定义了原色的色度。如果图像使用 CCIR 推荐709原色方案
31、,这个值应该为640/1000,330/1000,300/1000,600/1000,150/1000,0/1000。0x0211YcbCrCoefficients(颜色空间转换矩阵系unsigned rational 3当图像格式为 YcbCr 时,这个值包含一个与RGB 格式转换的常量参数。通常,这个值为0.299/0.587/0.114。数)0x0213YcbCrPositioning(YcbCr 配置)unsigned short 1When image format is YCbCr and uses Subsampling(cropping of chroma data, all
32、the digicam do that), defines the chroma sample point of subsampling pixel array. 1 means the center of pixel array, 2 means the datum point.当图像格式为 YCbCr 且使用部分采样(色度数据的取样,所有数码相机都会这么做)时,定义了部分抽样像素数组的色度样本点。1表示像素数组的中间,2表示基准点。0x0214ReferenceBlackWhite(黑白参照值对)unsigned rational 6Shows reference value of bla
33、ck point/white point. In case of YCbCr format, first 2 show black/white of Y, next 2 are Cb, last 2 are Cr. In case of RGB format, first 2 show black/white of R, next 2 are G, last 2 are B.黑白点参照值。在 YcbCr 格式的方案中,头2字节表示 Y 的黑白参照值,接下来的2字节是Cb 的,最后2字节是 Cr 的。在 RGB 格式方案中,头2字节表示 R 的黑白参照值,接下来的2字节是 G 的,最后2字节是
34、B 的。0x8298Copyright(版权)ascii stringShows copyright information版权信息0x8769 ExifOffsetunsigned long 1Offset to Exif Sub IFD子 IFD 的偏移量Exif SubIFD(子标签)中使用的标签Tag No. 标签名称 格式CompoNoDesc.0x829aExposureTime(曝光时间)unsigned rational 1曝光时间(快门速度的倒数) 。以秒为单位。0x829dFnumber(焦距)unsigned rational 1 获取图像使用的焦距(光圈) 。0x882
35、2ExposureProgram(曝光方式)unsigned short 1Exposure program that the camera used when image was taken. 1 means manual control, 2 program normal, 3 aperture priority, 4 shutter priority, 5 program creative (slow program), 6 program action(high-speed program), 7 portrait mode, 8 landscape mode.拍摄图像时相机的曝光程序
36、(曝光方式)。1 表示手动控制;2 3光圈优先;4快门优先;56780x8827ISOSpeedRatings( ISO)unsigned short 2CCD sensitivity equivalent to Ag-Hr film speedrate.0x9000ExifVersion( Exif 版本) undefined 4Exif version number. Stored as 4bytes of ASCII character. If the picture is based on Exif V2.1, value is “0210“. Since the type is un
37、defined, there is no NULL(0x00) for termination.Exif 版本号。用 4字节的 ASCII 字符保存。如果图像基于 Exif v2.1,其值为“0210“。由于类型为未定义 ,所以结尾没有 NULL(0x00)值。0x9003DateTimeOriginal(原始图像采集的时间)ascii string 20原始图像采集时的时间。这个值不能被用户的程序修改。时间格式为“YYYY:MM:DD HH:MM:SS“ + 0x00,共20字节。如果没有设定时钟或者数码相机没有时钟,这个区域可填充空格。在Exif 标准中,这个标签是可选的,但在DCF 标准
38、中时必须的。通常,这个标签的值与DateTimeOriginal(0x0132)的值相同。0x9004DateTimeDigitized(原始图像被数字化编码时的时间)ascii string 20图像被数字化的时间。通常和DateTimeOriginal(原始图像采集的时间)(0x9003)相同。时间格式为“YYYY:MM:DD HH:MM:SS“ + 0x00,共20字节。如果没有设定时钟或者数码相机没有时钟,这个区域可填充空格。在 Exif 标准中,这个标签是可选的,但在 DCF 标准中时必须的。0x9101ComponentsConfiguration(像素颜色构成顺序)undefin
39、edShows the order of pixel data. Most of case 0x04,0x05,0x06,0x00 is used for RGB-format and 0x01,0x02,0x03,0x00 for YCbCr-format. 0x00:does not exist, 0x01:Y, 0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green, 0x06:Bllue.像素数据种色彩的顺序。大多数都采用RGB 格式为0x04,0x05,0x06,0x00 ,YcbCr格式为0x01,0x02,0x03,0x00的方案。0x00:不存在; 0x0
40、1: Y;0x02: Cb;0x03: Cr; 0x04: Red,;0x05: Green;0x06: Blue.0x9102CompressedBitsPerPixel每个像素的压缩位unsigned rational 1The average compression ratio of JPEG (rough estimate).JPEG 的平均压缩率(粗略估计) 。0x9201ShutterSpeedValue(快门速度 APEX值)signed rational 1Shutter speed by APEX value. To convert this value to ordinar
41、y Shutter Speed; calculate this values power of 2, then reciprocal. For example, if the ShutterSpeedValue is 4, shutter speed is 1/(24)=1/16 second.快门速度的 APEX 值。要来转化为平常的“快门速度” ,计算方法为2的这个值为幂次方,在倒数。举例,如果ShutterSpeedValue(快门速度 APEX 值)为4则快门速度为 1/(24)=1/16 秒。0x9202ApertureValue(光圈)unsigned rational 1The
42、actual aperture value of lens when the image was t获取图像时实际的光圈值。单位是APEX。要转换原始光圈,对求这个值次幂。举例:如果 ApertureValue(光圈)为5,光圈(F-number(F-stop), )为1.41425 = F5.6。0x9203BrightnessValue(亮度)signed rational 1Brightness of taken subject, unit is APEX. To calculate Exposure(Ev) from BrigtnessValue(Bv), you must add S
43、ensitivityValue(Sv).Ev=Bv+Sv Sv=log2(ISOSpeedRating/3.125)ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32.物体的亮度,单位是 APEX。曝光量(EV)等于亮度( BV )加上感光度(SV) 。Ev=Bv+Sv Sv=log2(ISOSpeedRating/3.125)ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32.0x9204ExposureBiasValue(曝光补偿)signed rational 1Exposur
44、e bias(compensation) value of taking picture. Unit is APEX(EV).拍摄时的曝光补偿(EV) ,单位是APEX(EV)。0x9205MaxApertureValue(最大光圈)unsigned rational 1Maximum aperture value of lens. You can convert to F-number by calculating power of root 2 (same process of ApertureValue:0x9202).镜头的最大光圈。以为底,这个值为幂,等到的值就是焦距(计算方法同Ap
45、ertureValue(光圈)(0x0902) 一样) 。0x9206SubjectDistance(物距)signed rational 1Distance to focus point, unit is meter.到焦点的距离,单位是米。0x9207MeteringMode测光方式unsigned short 1Exposure metering method. 0 means unknown, 1 average, 2 center weighted average, 3 spot, 4 multi-spot, 5 multi-segment, 6 partial, 255 other
46、.测光方式。0、未知;1、平均测光;2、中心重点平均;3、单点测光;4 、多点测光;5、矩阵测光; 6、局部测光;255、其他。0x9208LightSource(光源,白平衡) unsigned short 1光源,实际表示白平衡设置。0、未知;1、日光;2、荧光灯;3 、钨丝灯;10、闪光灯;17 、标准光线 A;18 、标准光线 B;19、标准光线C; 20、D55;21、D65;22、D75;255、其他。0x9209Flash(闪光)unsigned short 10 means flash did not fire, 1 flash fired, 5 flash fired but
47、 strobe return light not detected, 7 flash fired and strobe return light detected.0、没有使用闪光灯;1 、使用闪光灯;5、闪光但没有检测到; 闪光且检测到。0x920aFocalLength(焦距)unsigned rational 1Focal length of lens used to take image. Unit is millimeter.拍摄时焦距,单位为毫米。0x927cMakerNote(制造商标记) undefinedMaker dependent internal data. Some
48、of maker such as Olympus/Nikon/Sanyo etc. uses IFD format for this area.制造商内置数据,如奥林巴斯、尼康、三洋等。 这区域使用 IFD 格式0x9286UserComment(用户注释) undefinedStores user comment. This tag allows to use two-byte character code or unicode. First 8 bytes describe the character code. JIS is a Japanese character code (know
49、n as Kanji).储存用户注释。这个标签允许使用双字节字符或 Unicode。前8个字节指示字节编码。JIS是日本字符编码(日本汉字) 。0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00:ASCII0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00:JIS0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00:Unicode0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00:Undefined0x9290 SubsecTimeascii stringSome of digicam can take 230 pictures per second, but (亚秒时间)0x9291SubsecTimeOriginal(采像亚秒时间)ascii st