Is it normal for EXIF values to be in an array? 🤔

Kevin

Code Monkey 🐒
Came across something tonight I didn't realize could happen, an ISO value in an image EXIF was an array instead of being numeric. The image seems to have been created with a Sony A7 and I was using it to test some changes to the EXIF add-on used here at Cameraderie to display the EXIF data in the forums. Note the "ISOSpeedRatings":[2000,0] entry. For those not familiar with programming languages the brackets in [2000,0] indicates that the value is an array. Poking around it looks like some EXIF viewers error out on the value and ignore it while others grab the first value of the array to show the ISO as 2000.

So is this normal, EXIF values can be arrays? Is it just the ISO that might in array or any entry? Is this some weird Sony thing? 🤔

Code:
{
    "FILE":{
        "FileName":"phpctcR0X",
        "FileDateTime":1623200915,
        "FileSize":4249315,
        "FileType":2,
        "MimeType":"image\/jpeg",
        "SectionsFound":"ANY_TAG, IFD0, EXIF"
    },
    "COMPUTED":
    {
        "html":"width=\"5439\" height=\"3312\"",
        "Height":3312,
        "Width":5439,
        "IsColor":1,
        "ByteOrderMotorola":1
    },
    "IFD0":
    {
        "Make":"SONY",
        "Model":"ILCE-7M2",
        "ExposureTime":"1\/3",
        "Exif_IFD_Pointer":84
    },
    "EXIF":
    {
        "ExposureTime":"1\/3",
        "ISOSpeedRatings":[2000,0],
        "DateTimeOriginal":"2018:11:20 21:15:07",
        "Flash":[16,0],
        "UndefinedTag:0xA434":"----"
    }
}
 
The only way to be sure is to have a Sony camera and the Sony's own raw image viewing software if one exists. These specifications aren't always released if they even exist in the first place. The world of exif tags. 🤡


Has an uncited mention about the values: first is the sensitivity and the second is latitude, whatever it means in this context. Based on this discussion there I'd personally pick the first value from the array and be done with it.
 
So is this normal, EXIF values can be arrays? Is it just the ISO that might in array or any entry? Is this some weird Sony thing? 🤔
After some digging around, the answer is that newer ISO 12232 standards allow for both the speed and latitude values to be recorded. In the case of ISOSpeedRatings":[2000,0] the 2000 value is the speed while 0 is the latitude. So depending on what version of ISO your camera maker is using and what version of EXIF tags are being saved and what version of EXIF your image processing software recognizes then you may or may not see an array for the ISSpeedRatings value.
 
Back
Top