jim-easterbrook / Photini

An easy to use digital photograph metadata (Exif, IPTC, XMP) editing application.
https://photini.readthedocs.io/
GNU General Public License v3.0
156 stars 24 forks source link

Error reading metadata #51

Closed HydrelioxGitHub closed 3 years ago

HydrelioxGitHub commented 3 years ago

When I click on some photos I have this error :

22:25:16: ERROR: photini.exiv2: 20131205_155439.jpg(description), Exif.Photo.UserComment: 'ascii' codec can't decode byte 0xf8 in position 1: ordinal not in range(128)

I suppose it's because there is maybe a 'ë' character in the metatdata. It's for the word 'Noël' which mean Christmas in French.

jim-easterbrook commented 3 years ago

Photini supports accented characters in metadata, with some restrictions. All modern image files should use UTF-8 encoding, which is what Photini writes. Photini attempts to read data using other encodings, but can't always succeed. This is partly due to a limitation in the PyGObject wrapper for libexiv - in Python 3 it decodes all strings with UTF-8, throwing an exception if that fails. Some data can be read as raw bytes and then decoded with other likely encodings (usually Latin-1) but not all.

The error message alerts the user that their metadata might have been corrupted. It tells you which file and which data field ('description'). If you correct any errors and save the file it will be read without errors next time.

If you can send me one of the problem files I can check it isn't using an encoding I haven't encountered before. I like to have a "rogues gallery" of problem files for testing.

HydrelioxGitHub commented 3 years ago

Where can you send the file ?

jim-easterbrook commented 3 years ago

You could attach it here (which would make it very public) or email it to me jim@jim-easterbrook.me.uk and I'll keep it private.

HydrelioxGitHub commented 3 years ago

I sent it to your email address with "Photini issue #51" for subject.

jim-easterbrook commented 3 years ago

Thanks - received and I'm already testing it.

jim-easterbrook commented 3 years ago

That's interesting. The problem is in the Exif.Photo.UserComment value, which was an early attempt by Exif to allow non-ascii characters in metadata. The first 8 bytes are supposed to be the name of the character set used, and in this example they are ASCII\x00\x00\x00. The file says it was created by Adobe Photoshop, which I would have expected to do it properly.

The "text" appears to be some other sort of data, with a lot of zero value bytes:

\x12\xf8\x0f;\x00\x00\x00\x00C\x01\x00\x00\x00\x00\x00\x00\x0f\x04\x00\x00\x1f\x00\x00\x00\x11\x00
\x00\x00xV4\x12xV4\x12xV4\x12xV4\x12\x00\x00\x00\x00\x00\x000\x00`\x00\xb3(\x0b\x00\xe8
\x04\xe5\x05\x00\x00\x0b\x00\x00\x00\xff\xff\x11i\x80\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xfd\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00C\x00A\x00L\x00ZDFE02\x00\x00
\x00\x00Cur.ZDFI02CML\x00018001001509FD0901090109010D010D010D090D\x13\xef\x05\x00
\'\x18\x05\x06\x12\xeb&\x00\x00\x03\x00\x00\x00\x00T\x00U\x00N\x00A\x00\x00\x00\xd0\x02\x0f
\x04\x18\x06\xba\x05\xba\x00\x9e\x1f\x02\x00\x00\x00\x01\x00W\xbd\x01\x00E\x98\x01\x00[T\xff\xff`
\x13\x00\x00=\xd3\xff\xffaL\x01\x00b\xe0\xff\xff\x88\x0c\x00\x00\xc9Q\xff\xff\xaf\xa1\x01\x00
\x00\x00FLFL\x01\x00SVN#\r\x01\r\t\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\xae\x00\x00\x00\x01\x00\xd0\x02\x0f\x04\x18\x06\xc7\x05\xba\x00\xba\x00\xc7
\x05\t\x15\x01\x00P\t^\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00G\x9dE\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00T\x00\x1a\x00h\x00\xff
\x00\xd7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x01\x00\x00\r\x01\n\x01\x00
\x01\x00\x018\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00JKJK\t\x01
\xe1\xef\x00\x00M\xff\x00\x00\xacw\x00\x00\xe9\x90\x00\x00\xc2\x0b\x02\x00\x00\x00\x01\x00B
\x85\x01\x00\x01\x00\x00\x00\x00\x0f\x04\x00\x00\x18\x06\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00p\x1e\x02\x00\x00\x00\x01\x00%\xbd\x01\x00\x9e\x1f\x02\x00\x00\x00\x01\x00W\xbd
\x01\x00E\x98\x01\x00[T\xff\xff`\x13\x00\x00=\xd3\xff\xffaL\x01\x00b\xe0\xff\xff\x88\x0c\x00\x00\xc9Q
\xff\xff\xaf\xa1\x01\x00JKJK!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x11"\x02\x00\x11"\x02\x00\x11"\x02\x00!"\x02\x00!"\x02\x00 
\x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00 \x11\x01\x00 \x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x001"\x02\x00!"\x02\x00!"\x02\x00\x91\x11\x01\x00
\x91\x11\x01\x00\x11"\x02\x00 \x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x11"\x02\x00\x11"\x02\x00\x013\x03\x00\x013
\x03\x00\x11"\x02\x00\x11"\x02\x00!"\x02\x00\x11"\x02\x00\x11"\x02\x00\x11"\x02\x00\x11"\x02\x00
\x11"\x02\x00!"\x02\x00\x11"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x11"\x02\x00\x013
\x03\x00\x11"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x11"\x02\x00\x11"\x02\x00\x11"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x91\x11\x01\x00\x11"\x02
\x00\x91\x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00\x11"\x02\x00\x11"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00\x91\x11\x01\x00\x91\x11\x01\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00P
\x11\x01\x001"\x02\x001"\x02\x00!"\x02\x00\x91\x11\x01\x00\x91\x11\x01\x00!"\x02\x001"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x001"\x02\x00!"\x02\x00!"\x02\x001"\x02\x001"\x02\x00P
\x11\x01\x00`\x99\t\x00@\x11\x01\x00P\x11\x01\x00 \x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00!"
\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x001"\x02\x001"\x02\x001"
\x02\x00Q3\x03\x00A"\x02\x00P\x11\x01\x00P\x11\x01\x00P\x11\x01\x00Q3\x03\x00P\x11\x01
\x00@\x11\x01\x00 \x11\x01\x00 \x11\x01\x00!"\x02\x00!"\x02\x00!"\x02\x00!"\x02\x001"\x02\x00A"
\x02\x00A"\x02\x00A"\x02\x001"\x02\x001"\x02\x00\x91\x11\x01\x00\x91\x11\x01\x00\x91\x11
\x01\x00A"\x02\x00Q3\x03\x00P\x11\x01\x00A"\x02\x00!"\x02\x001"\x02\x001"\x02\x00!"\x02\x00A"
\x02\x00`\x99\t\x001"\x02\x001"\x02\x00\x91\x11\x01\x00\x91\x11\x01\x00\x91\x11\x01\x00\x91\x11
\x01\x00\x91\x11\x01\x001"\x02\x001"\x02\x001"\x02\x001"\x02\x001"\x02\x001"\x02\x00`\x99\t
\x00`\x99\t\x00A"\x02\x00A"\x02\x00A"\x02\x00A"\x02\x00\x91\x11\x01\x00\x11"\x02\x00\x11"\x02\x00
\x91\x11\x01\x001"\x02\x001"\x02\x001"\x02\x00`\x99\t\x00A"\x02\x001"\x02\x00A"\x02\x00A"
\x02\x00A"\x02\x001"\x02\x00Q3\x03\x00A"\x02\x00\x91\x11\x01\x00\x11"\x02\x00\x11"\x02\x00
\x91\x11\x01\x001"\x02\x001"\x02\x001"\x02\x00Q3\x03\x001"\x02\x00Q3\x03\x001"\x02\x001"
\x02\x00Q3\x03\x00Q3\x03\x00A"\x02\x00Q3\x03\x00A"\x02\x00\x91\x11\x01\x00\x11"\x02\x00\x11"
\x02\x00\x91\x11\x01\x001"\x02\x001"\x02\x00JKJK;\xff\x01\x00\xf3\xff\x00\x00\xbc\xa8\x01\x00\xfc#
\x02\x00@\x00\x01\x00\x95\xc0\x01\x00\r\xe7\x01\x00\x01\x00\x01\x00\x1f\xb7\x01\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x1d\x02\x00\xb6\xff\x00\x00\xab\xbc\x01\x00\xd3\x1d\x02
\x00\xb6\xff\x00\x00\xa4\xbc\x01\x00\xd3\x1d\x02\x00\xb6\xff\x00\x00\xa4\xbc\x01\x00\xd3\x1d\x02
\x00\xb6\xff\x00\x00\xa4\xbc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\t\xfdAFAF\xfa\x02\x00\x00\x00\x00\xfa\x02\x00\x00\x00\x00\xdc\x02\x02\x00\xd1g\xdc
\x02\x02\x00DK\xbe\x02\x07\x00\xcef\xbe\x02\x06\x00C\x97\xa0\x02\x01\x00Ax\xa0\x02\x01\x00
\xe7K\xb0\x02\x00\x00\x00\x00\xb0\x02\x00\x00\x00\x00\xb7\x02\x02\x00\xb2\xc4\xb7\x02\x04
\x00\xe0"\xbe\x02\x03\x00\x1e{\xbe\x02\x04\x00\x8c~\xc5\x02\x04\x00 I\xc5\x02\x05\x00\x11+\xcc
\x02\x02\x00\xb1\xd2\xcc\x02\x04\x00,r\xc5\x02\x04\x00J\xc0\xc5\x02\x05\x00h\xe5\xc5\x02
\x01\x00[\xc7\xc5\x02\x01\x00\xa7\xc0\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01
\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01
\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01
\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01
\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\xeb\x01\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00AFAF\x02\x00\x9d\x02ZD0\x00\xc5\x02\x98\x02AFAF\xe4\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xb0\xf4\x80\x00\x00\x0f\x00\r\x00\x04\x00\x06\x00
\x00\x00 \n\x00\x00\x00\x00\xa0\x1a\x00\xa4x\x1f\x00R\xbc\x0f\x00)\xde\x07\x00)\xde\x07\x00
\x14s\x0f\x00\x14s\x0f\x00\\&\x05\xba\xc6\xb3\x00\x006n\x01S\x00\x00\x00S\x00\x00\x00\x00
\x00\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00U\x00\x00\x00W\x00\x00\x00Y\x00\x00\x00[\x00\x00\x00
\xce\x8aF\x02\xdf\x9bW\x13\xf0\xde\xbc\x9a@\x06"\x004\x12\x00:(\xfb\x00\x00\x0b@n\xb7\x1c\xcd

I'm not sure I'll be able to do anything useful with this.

HydrelioxGitHub commented 3 years ago

I think Photoshop I mentioned only because I pixelate faces. It comes from an old Samsung smartphone. And has been manipulated using Picasa.

Le mar. 27 oct. 2020 à 11:46, Jim Easterbrook notifications@github.com a écrit :

That's interesting. The problem is in the Exif.Photo.UserComment value, which was an early attempt by Exif to allow non-ascii characters in metadata. The first 8 bytes are supposed to be the name of the character set used, and in this example they are ASCII\x00\x00\x00. The file says it was created by Adobe Photoshop, which I would have expected to do it properly.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jim-easterbrook/Photini/issues/51#issuecomment-717153827, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADZAXT2A2SHYUH5DWN6DOT3SM2QHTANCNFSM4S2I57RA .

jim-easterbrook commented 3 years ago

That ZDFI02 sequence is the Exif.Photo.ImageUniqueID value, and appears to be a phone camera model number. Maybe Photoshop isn't to blame and just left Exif.Photo.UserComment untouched.

jim-easterbrook commented 3 years ago

Ah, I would have preferred to have the original image before any modification. It's very likely that Photoshop changed the metadata. (It certainly set Exif.Image.Software.)

jim-easterbrook commented 3 years ago

See also https://github.com/drewnoakes/metadata-extractor/issues/105 This confirms that it's a Samsung phone standard-breaking misuse of metadata, so I probably won't be able to make any sense of it.

jim-easterbrook commented 3 years ago

I've found some more examples on the web, and the data looks similar. Unless someone out there has reverse engineered this Samsung specific metadata I'm not planning to make any change to Photini. It does the best it can under the circumstances.

HydrelioxGitHub commented 3 years ago

I understand and thanks for your time. I think this issue should be closed as it's not related to Photini but related to Samsung.

jim-easterbrook commented 3 years ago

Do you have any Samsung software that might make use of this information? At present Photini will wipe the information when a user updates the "description" field, but if it's important then it should be preserved.

jim-easterbrook commented 3 years ago

In commit 1e7e707 I've added a warning to the user when Exif.Photo.UserComment contains unreadable data (for whatever reason) that will get deleted when Photini saves its metadata.