JPEG Data HandlerΒΆ

[1]:
from rich import print

from byteclasses.handlers.images import JPG
[2]:
with open("../../../tests/data/sample.jpg", "rb") as file:
    img_data = file.read()
jpg = JPG(img_data)
print(jpg)
<JPG:Seg(SOI)|Seg(APP0)|Seg(APP1)|Seg(APP1)|Seg(DQT)|Seg(DQT)|Seg(SOF2)|Seg(DHT)|Seg(DHT)|Seg(SOS)|Seg(DHT)|Seg(SOS
)|Seg(DHT)|Seg(SOS)|Seg(DHT)|Seg(SOS)|Seg(DHT)|Seg(SOS)|Seg(DHT)|Seg(SOS)|Seg(SOS)|Seg(DHT)|Seg(SOS)|Seg(DHT)|Seg(S
OS)|Seg(DHT)|Seg(SOS)|Seg(EOI)>
[3]:
print(repr(jpg))
JPG(data=<memory at 0x7fc518e4af80>)
[4]:
for segment in jpg.segments:
    print(segment)
<Seg(SOI): >
<Seg(APP0): length=UInt16(16), payload=<memory at 0x7fc518e4b280>, 
hdr=App0Jfif(byte_order=b'>',data=bytearray(b'JFIF\x00\x01\x01\x01\x01^\x01^\x00\x00'))>
<Seg(APP1): length=UInt16(35131), payload=<memory at 0x7fc518e4b400>, hdr={'identifier': String(5, value='Exif')}>
<Seg(APP1): length=UInt16(3385), payload=<memory at 0x7fc518c58640>, hdr={'identifier': String(29, 
value='http://ns.adobe.com/xap/1.0/')}>
<Seg(DQT): length=UInt16(67), payload=<memory at 0x7fc518c59f00>>
<Seg(DQT): length=UInt16(67), payload=<memory at 0x7fc518c5a140>>
<Seg(SOF2): length=UInt16(17), payload=<memory at 0x7fc518c5a380>>
<Seg(DHT): length=UInt16(29), payload=<memory at 0x7fc518c5a5c0>>
<Seg(DHT): length=UInt16(26), payload=<memory at 0x7fc518c5a800>>
<Seg(SOS): length=UInt16(12), payload=<memory at 0x7fc518c5aa40>, image_data=<memory at 0x7fc518c5ab00>>
<Seg(DHT): length=UInt16(42), payload=<memory at 0x7fc518c5ad40>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c5af80>, image_data=<memory at 0x7fc518c5b040>>
<Seg(DHT): length=UInt16(40), payload=<memory at 0x7fc518c5b280>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c5b4c0>, image_data=<memory at 0x7fc518c5b580>>
<Seg(DHT): length=UInt16(45), payload=<memory at 0x7fc518c5b7c0>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c5ba00>, image_data=<memory at 0x7fc518c5bac0>>
<Seg(DHT): length=UInt16(52), payload=<memory at 0x7fc518c5bd00>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c44040>, image_data=<memory at 0x7fc518c44100>>
<Seg(DHT): length=UInt16(39), payload=<memory at 0x7fc518c44340>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c44580>, image_data=<memory at 0x7fc518c44640>>
<Seg(SOS): length=UInt16(12), payload=<memory at 0x7fc518c44880>, image_data=<memory at 0x7fc518c44940>>
<Seg(DHT): length=UInt16(34), payload=<memory at 0x7fc518c44b80>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c44dc0>, image_data=<memory at 0x7fc518c44e80>>
<Seg(DHT): length=UInt16(34), payload=<memory at 0x7fc518c450c0>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c45300>, image_data=<memory at 0x7fc518c453c0>>
<Seg(DHT): length=UInt16(38), payload=<memory at 0x7fc518c45540>>
<Seg(SOS): length=UInt16(8), payload=<memory at 0x7fc518c45780>, image_data=<memory at 0x7fc518c45840>>
<Seg(EOI): >