Osserviamo che ogni file .jpg
, a un editor esadecimale, inizia con una sequenza FFD8
e termina con la sequenza FFD9
Il codice qui indicato “inietta” il messaggio “Hello World
” in coda al file image.jpg
senza però modificarne la qualità:
with open('image.jpg', 'ab') as f:
f.write(b"Hello World")
f.close()
Ecco come, all’editor esadecimale, appare adesso image.jpg
:
Dopo la sequenza FFD9
è stata inserita, come si è evidenziato nell’immagine, un flusso binario che rappresenta, appunto, la stringa Hello World
.
Se volessimo leggere il contenuto che abbiamo scritto in coda al file dopo la sequenza FFD9
:
with open('image.jpg', 'rb') as f:
content = f.read()
offset = content.index(bytes.fromhex('FFD9'))
f.seek(offset + 2)
print(f.read())
f.close()