Ich möchte die Exif-Daten von jpeg-Dateien lesen und weiter verarbeiten.
Ich weiß, mit IRFAN-View und mit Windows-Datei-Eigenschaften kann man diese Daten lesen, aber nicht gut weiterverarbeiten. Außerdem reizt es mich, das mal "zu Fuß" zu machen.
Bisher hab ich mir angesehen, wie die Exif-Codierung funktioniert und hab das auch einigermaßen verstanden.
Ich muss zunächst die Position des Wortes "Exif" irgendwo an Anfang der Datei bestimmen. Von dieser Referenzposition kann man durch Abzählen der Bytes die verschiedenen TAGs finden. So weit, so gut.
Ich hab das so realisiert:
Code: Alles auswählen
f=open("z://python_workspace/Kira_Exif.jpg","rb")
b=f.read()
bd=str(b)
a= bd.find('Exif')
In einem HEX-Editor sieht das so aus:
45 78 69 66 00 00 4D 4D 00 2A 00 00 00 08 00 08 01
E x i f . . M M . * . . . . . . .
"print(b)" im Python-Programm liefert das:
\x1cExif\x00\x00MM\x00*\x00\x00\x00\x08\x00\x08\x01\x0f\x00\x02\x00\x00\x00\x1
darstellbare Zeichen werden dargestellt, nicht darstellbare werden in HEX-Code mit Backslash als Trenner geprintet. Das Abzählen der Bytes ist so nicht ohne weiteres möglich. Hat jemand einen Vorschlag, wie man da am besten vorgeht.