0

I am working with the Arducam Mini Module Camera Shield 5MP Plus OV5642 Camera Module. This camera communicates over SPI and can pass the JPEG as bytes to the processor with its FIFO buffer. Unfortunately, after I commanded it to take an image and transfer the data, I got the following:

b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00\x00\x00\x00\x00\x00\xff\xdb\x00C\x00\x04\x03\x03\x04\x03\x03\x04\x04\x03\x04\x05\x04\x04\x05\x06\n\x07\x06\x06\x06\x06\x0c\t\t\x07\n\x0f\r\x0f\x0f\x0e\r\x0e\x0e\x10\x12\x17\x14\x10\x11\x16\x11\x0e\x0e\x14\x1b\x14\x16\x18\x19\x1a\x1a\x1a\x10\x13\x1c\x1e\x1c\x19\x1e\x17\x19\x1a\x19\xff\xdb\x00C\x01\x04\x05\x05\x06\x05\x06\x0c\x07\x07\x0c\x19\x11\x0e\x11\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\x07aq\x13"2\x81\x08\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc0\x00\x11\x08\x00\xf0\x01@\x03\x01!\x00\x02\x11\x01\x03\x11\x01\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf8%\xea\xbbP\x02R\x81@\x12\x05\xa7\x04\xa0\t\x02\xd3\xb6\xd2\x01\xd8\xa5\x02\x90\x0e\xa5\xa0\x044\xda\x00e\x14\x00\x94P\x01E\x00\x14\x94\x00\x86\xa3j\xa0#4\x94\x00\xf1R\x8a\x00~)j@i\xa6\x1a\xa0#4\xca\x00J\x91h\x02t\xa9\x85 \x1fKR\x05i*\xb1\xab\x01\x00\xa9\x15h\x02P\xb4\xe0)\x00\xb4\xea@-:\x80\x12\x96\x80\x10\xd3\t\xa0\x08\xc9\xa4\xcd0\x16\x96\x80\x16\x92\x80\x16\x97\x14\x80a\xa8\xda\xa8\x08\x8d\x02\x80$Z\x95h\x02LRb\xa4\x06\x9a\x89\xa9\x81\x1d4\xd3\x00\x15"\xd0\x05\x84\xa9\x80\xe2\xa4\x07R\xf6\xa0\n\xd2Uf\xaa\x01EJ\xb4\x01(\x14\xb8\xa9\x01h\xa0\x05\xa2\x80\n(\x01\t\xa8I\xa6\x04y\xa34\xc0x\xa7\x81H\x05\xc5\x18\xa4\x02\xe2\x9d@\x0caQ50!4\n`J\xb52\xd2\x01\xf4\x98\xa4\x03H\xa8\x98S\x02#L\xa6\x02\x8a\x91h\x02\xc2T\xe3\xa5H\x0bJzR\x02\xa4\x95]\xaa\xc0r\xd4\xcb@\x12\nZ\x90\n(\x01(\xa0\x02\x8a\x00i\xa8\x9a\x98\x11\x1ap\xa6\x04\xabR\x8a@-% \x1c\x05;\x14\x00\xc6\xa8\x1a\x98\x10\x9e\xb4\n`L\xb52\xd2\x01\xf8\xa5\xc5 \x1aEB\xc2\x98\x10\xb5Fi\x80\xa2\xa4Z\x00\xb0\x95-H\x0b\x9ain(\x02\t*\xbbU\x00\xa2\xa6Z\x00x\xa7T\x80Q@\x05\x14\x00\x94\xb4\x00\x86\xa2j`COZ`N\x82\xa5\x02\x90\x0b\x8a1H\x05\xc5.(\x01\x8c*\x06\xa6\x04\x06\x9c\xa2\x98\x13(\xa9\x94T\x81&)qH\x06\x11P\xb50 j\x88\xd5\x00\n\x99T\x9e\x94\x01:\xa1\xa7R\x01\xb9\xa6\x96\xa0\x04z\xaei\x80\xe1R\xa8\xa0\x07\xe2\x96\xa4\x02\x8a\x00)q@\x06)\xd8\xa0\x06\x91Q0\xa6\x04=\xe9\xea)\x81a\x05L\x05H\x06\xda1@\n\x05;\x14\x80\x8d\x85@\xe2\x98\x15\xc8\xa7\x01T\x04\xcbS\xadH\x0f\xa5\xda})\x00\x9eK\xfaT/\x1b\n`VaQ\x1a\xa0\x1d\x12n5\xa1\x12\x85\xa4\xc0\xb2\x14\x1a\xaf<x\xa8\x02\x99\xa6\x1a\xd0\t\xa4\x15\\\xd0\x03\xd4T\xca\xb4\x80~\xdaLR\x00\xc5%\x00;\x14\xecP\x01\xb6\x9d\x8a\x00k\n\x85\xc50!\xc5H\xa2\x98\x16\x10T\xc0T\x00\xb8\xa4\xc5\x00(\x14\xb4\x80\x8d\xaa\xbb\n\xa0!+NT\'\xa5P\x1a6\xda\\\x93t\xad\x9b\x7f\x0c\xca\xfdA\xace;\x01\xa9\x0f\x84\xdb\xfb\xb5\xa3\x0f\x84\x0f\xf7+\x9d\xcc\xbb\x0e\x9f\xc2\xed\x1a\xff\x00\xab?\x95s\xba\x86\x91\xe5\xe7\x8aq\x90\x8e^\xee\x0f,\xd5"+\xb1\x12O\x10\xab+@\x16\x12\x99q\xd2\xa0\x0c\xd7\xebM\xedZ\x01rE\xaa\xc5y\xa0\t\x11*\xdcq\xd4\xb0\x1cc\xa6l\xa4\x02\x15\xa4\x0bL\x07\x04\xa7l\xa4\x01\xb6\x97m\x001\x96\xa0u\xa6\x04;jTZ\xa0-"U\xa8\xed\xe4\x7f\xba\x84\xfe\x15\x00Y]\x1e\xf6O\xbbk)\xff\x00\x80\xd3\xbf\xb0o\xcf\xfc\xba\xcb\xff\x00|\xd0\x04\xd1\xf8j\xf9\xbf\xe5\x8b\x8f\xc2\xae\'\x84\xee\x9b\xef#~U\x9b\x90\x11\\xfX\x87(k\x16\xe7Ohz\x8aq\x95\xc0\xa3\xe5s[:>\x92\xf7R(E\xc9\xad\x18\x1e\xbf\xe1o\x86W\xb7\xe1\x08\x8f\x19\xf6\xafY\xd1\xbe\x07\xdc\xca\xab\xe6)\xfc\xab\x99\xc1\xb0\xe6\xb1\xd9X|\x06^7\xc7]%\xb7\xc1\x1bx\x93\xfdG\xe9U\x1aD{C\x1f\\\xf8H\x89\x1bl\x80~U\xe1^:\xf8r\xd6\x02GH\xe9\xb8\rJ\xe7\x80\xeb\xb6^D\x8e\xa4b\xb9\xa6J\xd6;\x14>:\xb2\xb5@J\x0e*\xbc\xf2g\xa5 *\x9aLU\x01\xbb\x7f\xa4\xdc\xda\x12&\x89\x96\xb2\xb6|\xd4\x01b8\xea\xeaE\xc5@\x03GQ\xb4t\x80a\x8e\x81\x1d\x00<GN\xf2\xe8\x01\xcbn\xcd\xf7T\x9a\xb7\x0e\x89}q\xfe\xa6\xd6F\xff\x00\x80\xd0\x05\xc3\xe0\xcdcf\xf6\xb3u\x1e\xe2\xb1\xaft\x9b\x8bC\xfb\xf8\xca\xd5\x01\x9d\xe5\xf3]\xe7\x82~\x1d\xdex\xa6e\xda\xa4Fi\x89\x9fK\xf87\xf6d\xb3\x99\x11\xae\xa0\xf3\x0f\xbdz\xfe\x91\xfb4\xe9\x90\xaa\xf9vk\xff\x00|T\x98\xf3\x9dD\x1f\xb3\xbd\x90\x1f\xf1\xe9\xff\x00\x8e\xd5\xc1\xfb<\xe9\xfd\xed\x14\xfe\x15V\x1f\xbcE\'\xec\xfbb:Y\x0f\xfb\xe6\xa9\xcd\xf0\x12\xc9\x14\xff\x00\xa1\xe3\xfe\x03G \xaf$q^$\xf8%h\x91\xb6\xcbe\xfc\xab\xe7/\x88\x7f\x0b\x7f\xb3\xc4\x8f\x14X\xc7\xb5O)Q\x95\xcf\x05\xbb\xb06\xf7F6\x1d\r{g\xc2\x7f\x06\x0b\xe3\x14\x92&sL\xd1\x9fdx\x1b\xc0\x91G\x14\x7f\xba\x1f\x95{V\x93\xe0\xc8b\x8dL\xca\x17\xf0\xadmc\x97\xe3f\xec^\x1f\xb2\x8b\xfeY\xe6\xa7:M\xa1\x18\xf2E+\x9b{4cj\xbe\x13\x86\xe2&\xf2G\xe1^\x15\xf1\x1b\xc0\xd1\xcbk7\xee\xf9\xc5&\xaee\xf03\xe0_\x8az\x03iZ\xbc\xa9\xb7\nk\xcc^\xd8\xe6\xa1\x1dC|\x82)v\x91L\x06\x1c\xd4e(\x016Rm\xa6\x07\xd7\x9e>\xf8q\x1a\x891\x16\x0f\xd2\xbes\xd7\xbc8\xf67L\xaa\xb4\x016\x93\xe1\x1b\xddC\x1b#85\xd2\x7f\xc2\xb3\xd4\xb6e\x10\xd4\x81\x87\xa8xKQ\xb0?\xbe\x84\xd5;\x7f\x0f^\xde6\xd8`b~\x95 oZ|0\xd6\xaf\x08\xdbnG\xe1]F\x9f\xf0\x1bZ\xb9#z\xb0\xfc(\x03\xb3\xd2\xff\x00f\x8b\x99q\xf6\x8d\xf5\xdbi_\xb3\x05\xbf\x1el9\xfa\xd3#\x98\xef\xf4o\xd9\xabM\x87nm\x14\xff\x00\xc0k\xbc\xd3~\x01X[\xa6E\x88\xe3\xfd\x8a\x0c\xf9\xaegx\x83\xe1\x1d\xaaD\xdb`\x03\xf0\xaf\x9d~#|-\x8e(\xe5t\x87\x1f\x85Qq>m\xb9\xd0\x1e\rb;b\xbf~LW\xdc?\x03<\x00\x89\xa7\xdb\xb4\x90\x8e\x83\xb5"j\xbb#\xeb_\x0e\xf8b\x0b8\x15\xe5\x8c{\n\xe9\xd5B\x0c(\x00{U\x0e\x9cl\x85\xa2\x83P\xa2\x802um\n\rB&\xc2\x01\'\xf3\xaf\x9c\xfe*x1M\xbc\xe7\xcb\xe7\x9a{\x98\xb8\xd9\x9f\x04\xf8\xebJ\x16>!h\xc0\xc7\xcd_O\xfc\r\xd0\x95\xec\xed\x8e\xde\xc2\x9c\x15\xd9S\xd8\xfb+\xc2\x1a:C\x02\xc8\xcb\xd3\xa5u\xf5u7\xb14\x96\x81Edl\x15\xc5x\xebKY\xad\x99\xc2\xfd\xe1U\x13\x1a\xabC\xe0\x8f\x8e\x9e\x15\xf3nd\x91W\x91_=\x9f\x0f\x13\xda\xa0\xd2;\x15f\xd1\x19?\x86\xb3\xa5\xb0+\xda\x91EG\xb5\xc5@\xd0\xd0\x04f:a\x8e\x98\x1f\xa6\xbe>\xd1\xa0\xf9\x81\xea}\xab\xe7MO\xc1\t\xa8k$\x14\x18\xcd\x01\xd0\xf4\xcf\x07|2\x89B\x9f+\xf4\xafF?\x0e\xa0\x8a\x0f\xf5B\x99\xc6\xaa{\xc7\x19\xaa|/K\xe9\xc81\r\xbfJ\xbd\xa1\xfc\x1d\x82)G\xee\x07\xe5H\xe9\x93\xb2=OB\xf8]l1\x8bpO\xd2\xbb\x8b\x1f\x87\x10G\x8d\xd1\xa2Pd\xbd\xe3v\xdf\xc1v0\xf5\xe7\xe8+N\x1d\n\xc6\x0e\x90\x83\xf5\xa0\xd3\x90\xbc\x90E\x17\xfa\xb8\xd5~\x82\xa4\xa6hP\xd4\xb4\xb8\xaf\xe2`\xca7\xfa\xd7\x84\xfcH\xf0\x92\xb5\xa4\xc0\xc7\xcd\x02>!\xf1v\x82\xb6~3\xd3\x86\xde\xb7"\xbe\xf9\xf8;\xa4\xc7\xfd\x9fk\x81\xc6\xd1GS\x1a\xa7\xb5QA\xb8Q@\x05\x14\x00W\x9d|N\xd3V[\x19\x1f\x1fy(\x13?4\xfe-[\x88\xfc`Tz\xd7\xd5\x1f\x01-\x87\xf6u\xb7\x1f\xc2*\xe9\xeeD\xf6>\xbd\xd2\xa3\xf2\xac!\x1e\xd5r\x94\xfe"\xa3\xb0QRPVW\x88`\xf3\xb4\xd7\xf6\xa6\x88\x9e\xc7\xc8\x1f\x18tp\xfei\xc7\xad|\xfa\x9a\x00\'\xee\xd2a\x1d\x8a\xba\x87\x87\x00\x8c\x9d\xb5\xc5\xea:?\x96\xc7\x8a\x92\x8e~\xe6\xc3\x1d\xab6[_j\x06Uk|T-\r\x00~\xa4|L\x96+,\x12\xbb\x98\x9cW\x91\xd9Y\xc3s~\xd3\xcc07S!\xfc\'\xd0\xde\x0b\xd0\xe3\xba\x82\x16\x8521]v\xa7\xa0\x98\xf8\x0b\xc5Z<\xaao\xde2-\xbc=\xe6\xb7\xdc\xcdtzo\x86\x167\xdd*\xedZ\x93\xd1\x9al\xe9-\xed"\xb5\\D\xb8\xa9\xa85\x8a\xe5AE\x05\x05\x14\x00W\x0b\xf1\x12\xd9\r\x9b9\x1dR\x9a\x03\xe0O\x88q\x07\xf8\x81\xa5F\xbf\xf3\xf1_u|$\x83\xcb\xd2\xe1\xf6\x8a\x97S*\x9f\x12=.\x8a\rB\x8a\x00(\xa0\x02\xb8\xdf\x88\x9f\xf2\t?\xee\x9a\x00\xfc\xce\xf8\xb8\xbb\xfcjq\xfd\xef\xeb_W\xfc\x07\x83\x1au\xaf\xd0S\x86\xe4Oc\xea\xfba\xb6\xde!\xfe\xc8\xa9h{\x94\x82\x8aC\n\xab\xa9.\xeb\x19\x87\xfb4\t\xec|\xbf\xf1V\xd7x\x97\x8fZ\xf1;}0g\xa5&J\xd8\x87S\xd3~^\x95\xe7\xda\xd6\x9d\x86<R\x19\xc8]\xd8s\xd2\xb2f\xd3\xfd\xa8(\xa3.\x9c}*\x8c\xb6$\x0e\x94\x01\xfa\x19\xf12\xfaK\xa6;\x0ey\xeb^{\xa6\xcc\xd3M\x12G\xf3\x1d\xfc\xd3!\xfc\'\xd7\x7f\rm\xbc\xbd)\t\xeb\xb0Wp\xca\x18a\x86i\x9c\xd8x\xa7\x12(\xadc\x84\x9d\x8b\x8a\x9a\x83\xb0(\xa0\x02\x8a\x00(\xa0\x02\xb8\x1f\x897\x01,\x98z%R\x03\xe0\x9f\x14?\xda>\'ic\xfe\x9bW\xde\xff\x00\x0cSn\x96\x9f\xf5\xccTu3\x9f\xc4\x8e\xf6\x8af\x81E\x00\x14P\x01\\\'\xc4\xc9\xb6i\x8c?\xd84\x01\xf9\xaf\xf11\xbc\xef\x19\xbf\xfb\xdf\xd6\xbe\xbe\xf8\x15\x1f\xfcKm\xbe\x82\x88\xee)\xec}G\x18\xc2(\xf6\xa7P0\xa2\x80\n\x86\xef\x9bY\xbf\xdd4\t\x9f7|M^&\xaf \xb6\x8cf\x90\xba\x11j\x90f3^}\xac\xdb\xfc\xc6\x90\x1c\x95\xcd\x9eX\xf1T\x1fO\xcfj\n!m/=\xaa\x8d\xc6\x95\xc1\xe2\x90\x1fU\xf8\xcf\xc4\x08\xea\xff\x007\x02\xab\xfc)U\xd4\xe7\xf3\x1cn\xcb\xd3\xb9\x95O\x80\xfb\x17\xc1\xb0yZ\x7f\xb7\x15\xd2U\x11\x87^\xe0QA\xd0\x14P\x01E\x00\x14P\x01^K\xf1R\xf3l\x17\x1c\xf4\x18\xad \x07\xc3\x17r\xf9\xff\x00\x14\xf4\xff\x00g\xaf\xd0o\x86\x87\xfe%h?\xe9\x98\xac\xfa\x98\xcb\xe2GwE\x06\xc1E\x00\x14P\x01^k\xf1VLX\xc8?\xe9\x9d0?8\xbcvwx\xc6O\xf7\xeb\xec\x9f\x81\x9f\xf2\x0f\xb5\xfa\nQ\xdc%\xb1\xf4\xf0\xe8(\xa0\x02\x8a\x00*\x1b\xb3\xb6\xd6c\xfe\xc9\xa0\x0f\x9b\xfe\'7\xcb.+\xc7\xed[\x9a\x04I}\xcc5\xc2j\xeb\xf3\x1aB9\xc9a\xc9\xa6\x0bP{R(\x98X\xfbU{\x8d4m<R\x10x\x93\xc6\x7fj\xdc\x15\xb8\xafl\xfd\x9d\xc1\xb8\xb2\x8eV\xeek\x1b\xe8E_\x80\xfbK\xc3\x8b\xb7NZ\xd7\xae\x88\xecM\x1f\x80(\xa6l\x14P\x01E\x00\x14P\x01^\x1b\xf1fR-\xee\x7f\x1a\xd6\x00|Mj|\xcf\x8av\xde\xc6\xbfC\xbe\x1a\x7f\xc89?\xeb\x9dg\xd4\xc2\x7f\x1a;\xda)\x1b\x85\x14\x00Q@\x05y\x7f\xc5s\xfe\x877\xfb\x94\xc0\xfc\xe6\xf1\xb9\xff\x00\x8a\xbeO\xf7\xeb\xec\x8f\x81\xad\xff\x00\x12\xfbo\xa0\xa5\x1d\xc2G\xd4\x0b\xf7G\xd2\x96\x80\n(\x00\xaa\xda\x87\xfcyO\xfe\xed\x00|\xcb\xf1B]\x9emy5\xa3R\x11b\xf3\xfdQ\xae\'U\xfb\xc6\x82L\x16\xfb\xd5,KH\xa2\xfcq\x8aI\xa2\x1bM!3\xc4\xee\xaeK\x1e\xb5\xf5\xf7\xec\xe4\xb8\xd1\xed}\xc5s\x93[\xe0>\xcf\xf0\xff\x00\xfcx\x0f\xadj\x1e\x05t\xc7bh\xfc\x00:QTl\x14P\x01E\x00\x14P\x01^\r\xf1m\xbf\xd1\xae?\x1a\xa4\x07\xc5\xba\x1f\xef~+E\xed_\xa1_\x0f\xa4\x10Y@\x0f\xf1.*V\xe7=]\x1a=\x06\x8a\x0e\x80\xa2\x80\n(\x00\xaf+\xf8\xb4\xdf\xe8\x93\xff\x00\xb9@\x1f\x9c\xbe3o\xf8\xab\xa5\xff\x00\xae\x95\xf6/\xc0\xf7\xc6\x9fm\xf4\x14Ds\xd8\xfa\x96\xdd\xb7A\x19\x1d\xd6\xa4\xa6\xc4\x14R\x00\xaa\x1a\xcc\xbeV\x9f/\xbd\x02g\xcc?\x13[\xcdi\x00\xaf/\xb4\xe2\xa4\x0b7\x7f\xea\xab\x88\xd5\xbe\xf1\xa0F\x0bu\xa9a4\x86hF\xd4\xb2\xbf\xcai\t\x9f>M9-_j~\xcf\xac"\xd2\xac\xbf\xdd\x15\x99\x9d\x7f\x80\xfb\x1f\xc32\x07\xb2\xc0\xadK\xb9\x840\xb3\x1a\xd9lM\x07\xee\x0e\xb7}\xf0\xa1\xf5\x15-Q\xd0\x14P\x01E\x00\x14P\x02\x1e\x01\xaf\x9e\xbe.\xcf\x8bI\xfe\x94\xc6|q\xe1\x16\xf3>*\xfd+\xef\xaf\n\\l\xb5\x80z\x01S\xd4\xe5\xad\xb9\xe9\xd6\xd2\x89\xa2V\xa9zS7\x8e\xc3Q\xc4\x83\xe59\xa7PPQ@\x05x\xd7\xc5\x9b\xd56\xd7<\xf6\xa4\xc0\xfc\xec\xf1\x9c\xa3\xfe\x12\xc9\x8fo2\xbe\xb3\xf8-\xaa*\xd9[\xf3\xd8R\x89S\xd8\xfa\xb7\xc3\xf7\xebwf\xab\x9f\x99kb\xad\x99\xc7`\xa2\x91A\\\x8f\x8b5UX\xcchx\x14\x992>q\xf1\xe5\xda\xbb\xc9\xcf5\xe7\xd6\xc6\xa4e\xab\xaf\xf55\xc3\xea\xe7\x96\xa4\x078\xed\xcd>9(\x02\xf4RS.\'\xc2\x9a\x90>\x7f\x95\xb1 \xfa\xd7\xd8\x7f\x03\xb50\xba}\x9a\x83\xda\xb3l\xca\xbf\xc2}\x87\xe1]Uc\x87$\xe4b\xad\xeaz\xaf\x9e\xd8\xcf\x1d\xaa\xe2\xce:/SGJ\xd4r\xa265\xbc\x0ezV\xa8\xefOP\xa2\xa8\xb0\xa2\x80\n(\x02\x1b\xb7\xf2\xed\xa5o\xf6k\xe6\x8f\x8c\x17_\xe8\x93\xf3\xda\x98\x1f"\xf8\n]\xdf\x13%oJ\xfb\x8b\xc2\xba\xa00\xc7\xcdA\xcbX\xf4\x9d7W\xf2\xd7\xaeEh\xcf\xac\x83\x07\x1dMX\xa3=\n\xb6Z\xb7\x92\xff\x00?*kv\xde\xf6\x1b\x91\xfb\xb7\x19\xf4\xa9\xb9\xad9\x16(\xa6le\xeb:\xacv\x16\xed\xf3\x0f3\x1f\x95|\xd5\xf1_\xc4\xe8-\xe7\x1b\xfbVr`|/\xe2k\xdf?]\x9aL\xff\x00\x15{\xbf\xc2_\x14y1B\x9b\xbbSE\xcfc\xebO\x07x\x9f)\x19\x0f^\xa5i\xad\xc1:\x0f0\xecj\xb3\x96/\x94\xb2\xda\x9d\xb2\xff\x00\xcbJ\xaf&\xbbl\x9d2h4\xe60\xb5_\x15b6\x11\xfc\x82\xbc\x93\xc5~,<\x80\xd5\x9bb\xdd\x9e/\xe2=d\xddL~j\xcd\xb3\x974\x1a\x17.$\xfd\xcdp\xfa\xcb\xf2i\x12r\xf2\xc9\xcd\x11\xcd@\xcb\xb1\xcdP\\\xcf\xf2\x1a\xcc\x19\xe1\xf3\x1f\xde\x8f\xad{\xe7\xc2o\x11\xfd\x88@\x9b\xba\x1a\xce\xa6\xc4\xd4\xd8\xfa\xf7\xc2\xbe*I-\x01W\xedZ\xb3x\x84\x19\x06^\x883\x8a\x9a\xb36\xb4\xddyI\xfb\xd5\xdbiZ\xfa\x15\x0b!\xc8\xae\x84\xcd$\xec\xce\x8a)\x92e\xccm\x9a}ju\xa7p\xa2\x81\x85\x14\x01\x83\xe2MIm\xed\x9a0y\xef_-\xfc\\\xd5U\xad\xa6\x1b\xbbS\x12>M\xf0~\xa2-\xfcwq&z\x9a\xfa\xdb\xc2^#\x1eT\x7f5A\xcfT\xf5=#[\x12/\xde\xad;\x8dmU>\xf5\x07:(\x9d|\x0f\xe2\xa6\xff\x00\xc2Y\xf6v\xce\xfc~5\xc79\xd8\xd6\x08\xd1\xb6\xf1\xf9\xe8&\xfdj\xd4\xbe=\x1e_\xcd?\xebDj\x9dG\x03\xe2\xaf\x1e\xa7\x96\xe29y\xfa\xd7\xcc?\x12|b\xd3\x89W\x7f5\xbe\xe5#\xe7K\xdb\xbf6\xf1\x8frk\xd9~\x18[K\xfb\xb6=+D9\x1fS\xf8BvDQ\xba\xbdWMwt\x1f5Q\xcc\xcd\x88\xe3g\xefR=\x8b\xb7\xad2\x91\x87\xaa\xd8|\x8d\xc1\xaf(\xf1F\x94~b\x17\x9a\x86Y\xe3\xda\xed\xab\xc0\xecMR\xb2\xb9\xa4Y\xa1=\xc7\xee\xba\xd7\x13\xac\xcf\xc9\xa4I\xc9M?=i\x89s\x8a\x06Z\x8e\xef\xde\x9bsq\xf2\x1ek <n\xe2M\xb2~5\xdbxCRh%V\rNk\xdd\x1c\x8f\xa0\xfc)\xe3V\xb6\x88+?\x06\xbaY\xfck\xbb\x90\xf5\xcd\x03\x18\xc7SgH\xf1\xea\xe4\x03\'\xeb^\x85\xa3\xf8\xe26\x03\xf7\x9f\xadt\x93R7;\x1b?\x1b"\x00D\xb8\xfckZ/\x1e\x8f\xf9\xefV\x996\xb1r/\x1d\x8c\xf3 5z?\x1bF\xdf\xdc\xaa\xb8\xf9\xa4\x8bK\xe3\x08\x0fP?:\x8e\xef\xc5\xf1\x08\x8f\x95\x85?Z\xab\x87\xb4g\x99\xf8\xaf\xc5\xca\xa8\xf9\x93\xf5\xaf\x96~*x\xb9d\x8e`\x1e\x99\xac\x0f\x9b\xf4\xcdT\xc5\xae\xbc\xea\x7f\x8a\xbd\xf7\xc2^3\x02$\xf9\xff\x00Z\x90\x92=\x83\xc3\xbe2V\x8b\xef\xd6\xa5\xdf\x8b\x81\xfe:\xceL\xc3\x94\xcd\x93\xc5\x99\xe8\xd5\x89\xa9\xf8\xb1\xc7\x01\xeb\xc9\xadR\xc6\xf1Bi\x9e"\x9d\x81!\xea{\xbf\x10\\\x95\xfb\xd5\x8d:\x976\xb1\xc8\xea\xda\xb4\xec\xad\x93^7\xe3\x9b\x96|\xb15\xeb\xd3wD\x9e\\\xad\x9b\xa5\xcf\xf7\xab\xe9O\x87[\x16\xd2\x1czWR\x13=\xe3\xc2O\xf3\x0ek\xd9\xb4L\x14Z\x0efu\x16\x90\xab8\xae\x8e;t\xd88\xaa*\'9\xaeZ*\x93\x8a\xf3O\x10Y\xa9\r\xc5K\x0b\x9e\'\xe3[h\xd696\xd7\x94\xc1\x7f\xb2F\x19\xefRl_}@\x18\xba\xd7#\xac]\x8ey\xa4#\x94\x9a\xe7\x9a\x84\\\xfb\xd02t\xbb\xa6\xcbw\xf2\x1ek0<\xb2Y7J+sH\xb90\xb0\xdakFQ\xdd\xd9\xf8\x85\xa1\x88sV\x7f\xe1/\x93\xa6\xea\xc2\xc0\x0b\xe3\t\xe1q\xb5\xeb\xa3\xd3\xbe&Ol\x06\xe7\xfdj\x80\xe9"\xf8\xbe\xc1?\xd6\x1f\xce\xa6\x83\xe3\x04\xdb\xb8\x97\xf5\xa6+\x1b\xf6_\x16\xa5\x93\xab\x9c\xd6\xd4\x1f\x15e\x1f\xc5K\x98\x9eSB?\x8a\xaf\xdd\xcd2\xe7\xe2\xe6\xd49\x92\x9f0r\x1e\x7f\xe2o\x8a^z6\xd9s^\x0f\xe2\xef\x14K\xa8;\xfc\xd5\xad\xcaH\xe2-g+>\xea\xef4MM\x97\x1b\x1b\x14\x9e\x83=\x1bB\xf1\x0c\xd6\xc5Is\x8a\xecG\x88\x12d\x07}q\xced\xf2\x90M\xe2\x14\x88}\xfa\xc6\x9b\\73pk\xc9\xc4\x15\x13gG\xd4\xf6>\x18\xf0kzk\x8f\x97\x83\\\x94\x99\xb9\xccj\xf7[Q\xb9\xaf\x1b\xf1\x86\xa2$vU5\xf4\x14\x19\x8b8\x1f7\x12\xe6\xbd\xb3\xe1\xcf\x89\xd1#\x8e7l\x1a\xef\x11\xf4\'\x85u\xf8\xd1\xd0\x87\xe2\xbd\xa3B\xf1,"5\xf9\xc7\xe7H\xe7h\xeb\xac\xbcC\x13\x91\xb5\xc5t\xd6\xfe#\x89c\xc3\xb0?\x8dU\xc82\xf5Mf9r\xdb\x87\xe7^k\xe2mf4G\xf9\xc5K\x1d\x8f\x9f|{\xe2X\x929\x06\xfek\xc6\x93X\xcc\xacs\xde\x91\xd2\x8bgW\xf9:\xd7?\xa8\xea[\x89\xe6\x81\x1c\xfc\xb7\x9e\xf5\x08\xbc\xa1\x8c\x95o}\xe8\x92\xf3\xe5\xa8\x03\xcf\x1eo\x9e\xb5l\'\xe9Z1\x9d\x02LBT/s\xcdb\x04mtI\x1c\xd2\x9b\xb6\xc7Z\xa0!\x93Tt\x1dj{\rQ\x9d\xc74\xfa\x01\xda\xe9w,\xd8\xe6\xba\xfb&,\x05s\xb04\xb6\x9cVV\xa7\xbbi\xe6\x92(\xe25L\xf3\\>\xa9\xd4\xd7LDe\xda\xae\xe7\xae\xc3H\x8b\xa5gZVCGgh\x8d\xb0U\xe3$\x8a>V\xaf-\xc8l\xab$\xd2\x13\xf35Mg?\xef:\xd62\x8d\xc8:kG\xca\xd5\xf3\xa9\xcf\x02`\x1c\x8a\xe2\xb5\x99\xbcY\xc9\xf8\x87Y\x99\xd1\x87J\xf2\xadfFwb\xc6\xbd\xac;\x14\x8eq\x9b\xe6\xad-7S\x96\xca@\xd15z\xa6\'\xa6h_\x12\xe6\xb6P\x1c\x9e+\xb5\xb1\xf8\xd3s\x06\x00\'\x15\x9b\x15\x8e\xafM\xf8\xfa!\xc7\x9b!\x15\xd0\xc1\xfbC\xdb\x91\xff\x00\x1f\x14\\\x9eQ\xf3\xfc}\xb7\x95?\xe3\xe0~u\xc5\xf8\x87\xe3\x12\\#l\x9b?\x8d\x01\xcax\xdf\x88\xbck.\xa5)\xf9\xb2+\x0e\x1dg\xde\x99e\xb3\xac\xfc\xbdj\x84\xfa\x96\xfe\xf4\xc0\xa2\xd7y\xa6\xfd\xa2\x80\x1e.)Z\xe3\x83R\x07\x1f\xf7\x9a\xb5\xac\xd7\x18\xcdj\xc0\xd7\x13\x15\\\x1a\x81\x9f=+ \x14n\xa5f\xda)\x81\x9fr\xf5.\x9b.\x1cUt\x03\xd14)\xb3\xb75\xe8\x1av\xd2\xab\\r\x03m\x15H\xac\x9dZ% \xd4"\xce\x0bV\x8c\r\xd5\xc0j\xe3\xe65\xd5\x01\x15t\xc8\xb2\xf5\xdfh\xf6{\xb6\xd7&!\x96\x96\x87koa\xf2\nt\xd6x\xed^jd3&\xe2\x0c\x1e\x95\x1d\xa4g}t[BN\x92\xcf \n\xb5?\xdc\xaeIGPL\xe4u\xc1\xc1\xaf7\xd6\x07\xcck\xbb\x0ehs/\xf7\xaah\xab\xd835-Mj\xc6\xdcVLce\x93\x15\\\xcd\x8e\xf5# \x92\xe4\xfa\xd4F\xe0\x9e\xf5d\x95f\x96\xab-\xc9^\xf5`K\xf6\xcfzCu\x9e\xf4\xc0\x04\xd5"\xbeh\x02tz\x91\xbe\xedH\x18\x96\xd0\xe4\xd6\xe5\x95\xaeO4H\x0b\x93ZdS!\xb2\xed\x8a\xce\xe34#\xd3\xc5V\xb9\xb1\xdai\\\x0ck\xa81L\xb4\x18z\xd4Gm\xa2\xb9\x18\xafA\xd3\'\xf9Er\xc8\x0e\x82)\xb8\xac\xcdR\x7f\x95\xb9\xac\xd1g\x07\xab\xcd\xd6\xb8]P\xf2k\xa6%\xa5\xa0i+\xf3\x8a\xf4m\x14cmy\xf8\x8d\xce\x8e_p\xec\xad_\xe5\xa5\x9eA\x8a\xe3\x82\xd4\xe4\x91\x91r\xc34\xcb6\x1b\xeb\xb7\x97B\x0e\x8a\xd4\xae:U\xa9\x95\n\xd7\x14\xc9G%\xaf"m8\xaf2\xd6\xc0\xcbb\xbahnt\xc1\x1c\xabG\xf3\xd5\x98\xa3\xaf`\x8eSN\xda\x13Z\xa9\x0e\x16\xb3d\x95\xae\x10\x8a\xcc\x93\x8a""\xab\xb5E\xbe\xb4\x11^i\xaa\x93MV\x80j\xcf\xcdH&\xa6\x04\xf1\xc9Wc\xe6\xa4\x0bQ.j\xef\x93\xf2T\x81\x83lpkz\xd6`1J@h\xf9\xaaE=\x1dk\x12\x91v)\x05Aw \xef@\x8ev\xf9\xc5Am\xf7\xc5o\xd0G_\xa40\x1bk\xb7\xd3\xa7\x00\x0c\xd6\x0c\r\xa1x\xa0V\x1e\xa9x\x0885)\x14qZ\x95\xces\\\xad\xf3n5\xbaGD~\x12\xd6\x96\xbf0\xc5z\x06\x97\xf7\x16\xbc\xbcF\xe7\xa3\xcb\xfb\xb3\xa5\xb7r\x16\x9bq1\xc5c\x03\xcc\x9cL\xb9$,i\xd6\xa7\x0e+\xb7\xa1\x93\xd8\xe8\xed_\x8a\x96y\xbeZ\xf3\xe6%\x13\x90\xd7.85\xe7Z\xb4\x9b\x98\xd7E\x13\xd2\xa7O\xdd0\xb1\xcd[\x89q^\xa1\x93\x89\xa1\x03\xe2\xaf\x0b\x8f\x96\xa1\x9c\xac\xa9qqY\x17\x13\xd5D\xcc\xa0\xf7\x15\x1f\x9b[\x08\x82G\xcdUz\xa0"\x1djU4\xc0\xb5\x0bV\x9c<\xd404m\x96\xb5\x96?\xdd\xd6lg\x15\x13\xe2\xb4!\xb9\xc7z\xd1\x88\xbe\x97`\x8e\xb5b9\xf3X\xb43B\x19j\xb5\xd4\xe7\x15(f\x05\xd4\xd9j}\xb4\x9f5nI\xd3\xe9\xd3c\x15\xd4Z^m^\xb5\x95\x80\xb4\xfa\x9e\x07Z\xc7\xbd\xd4r\x0f5j#9\x8b\xdb\xad\xcdYR\xfc\xedZ\x9d\x117t\x889\x15\xd9\xd9.\xdcb\xbc<G\xc4z\xeb\xe1:\x0b|\xec\xa2U\xddX\xc1\x9e}R\xabA\xc5Ioo\x93\xd2\xba\\\x8e{\x1b\x10\xae\x052\xeb\xee\x9a\xe0\x93\xd4\xe8\xa7\x03\x8a\xd6\x9f\xadp\x97\xdf|\xd7u\x03\xd1J\xd13\xf6\xf3Rg\x15\xe9\x9c\x92\xd8p\x97\x14\xa6\xeb\x02\x8b\x1el\x8aw\x17u\x975\xcekD\x8c\xca\xbea4\xf0\xd5`\x0cj\x07\xa0\x08\xfb\xd4\x82\x98\x16!5\xa7\x03T\xb05-^\xb6#o\xdd\x9a\xc9\x8c\xe0\x8f\x14\xbei\x15\xb8\x8bV\xf2\xb5j\xdb\xbbT04\x92r\xa3\x91Un\xeeT\x8a\x8b\x0c\xe7\xee\xa5\xe7\x8am\xb5\xce\x1a\xb4\x11\xd1\xd8\xde\xe3\x1c\xd6\xdaj8Z\x9b\x01\x1c\xba\xaf\xbdf\\j\x1b\xbb\xd6\x80P\xf3|\xc6\xa7/2\n\x19\xbc\x0e\xa3J\x1d+\xad\xb3\xe7\x15\xe0\xe2w=4\xf47\xa1\xe1)\xaf\\\x90g\x15VE\xd4\xd5\xfbX\xebY\xcbC(\xeai,<qU.\xe3\xf9Mqsjz4\x91\xc2\xebK\xc9\xae&\xf6?\x98\xd7\xaf\x877\x93\xd0\xa5\xb6\xab\xccv\xd7\xa8\x91\xc5RZ\x14Z\xe3\x15\x03\xdd\xd5\xd8\xf3YNI\xcbT5b\nx\xa0\x05\xa8\x9a\x80#\xefR\n\x00\x9e.\xb5~#\x8aL\r;V\xe6\xb5\xd2LFk&\x07\x18\xd5\x1dl\x06\x95\xaaf\xb6m\xa2\xe2\xa0E\x97\x8e\xb3n\xe9\x0c\xc2\xb9\xebT\xfb\xd6\x80Y\x8ag_\xba\xd5v=Be\xfe*\x00\x97\xed\xcc\xddj#6\xea\x00\xb1\x03sVco\xdePm\x03\xa4\xd3f\n\x05t\xd6\xd7@\x01\xcdxX\x9dY\xe8_Ca/\xc6\xde\xb5 \xba\x0f\xde\xbc\xfd\x8e\x1a\x8c\x90J7u\xad+i\xc5)=\x05L\xd3\x8e\xe0b\xa9j\x17\x03a\xacb\xb5=8\x9c&\xab bk\x91\xbe<\xd7\xbd\x86D\xceFij\xa5tx\xafQ\x1e|\xd9\x89<\x9c\xd4\x1b\xb3Ts\x85!\xa0\x00T\x82\x80\x1d\x8a\x85\xe8\x02>\xf5 \xa0\tc\xebW\xe2<R`i[\x1ekQO\xc8k6\x07 \xc6\xa3\xceMj\x06\x9d\x9c\x9bz\xd7Ef\xeaGZ\x96If\\m\xac+\xd7\xebH\xa3\n\xe1\xb2j\xb0\xebV\x04\xca*Q@\x0e\xcd8\x1a\x00\xb1\x13\xe0T\xeb.\x1a\x93.,\xd5\xb5\xbd\x0bZ\xf0\xea<u\xaf.\xb4N\xeek\xa2\xcf\xf6\xa6;\xd3\xd3X#\xf8\xab\x8b\x90\xe2\xa8Z\x8b[b\xddkZ\xdbY\xe9\xcdc*a\r\xcd8\xf5\x8e:\xd5K\xedc(y\xa9\x84\x0fMlrw\xda\x88,y\xac9\xe5\xdek\xdb\xa2\xaceQ\x94\xdb"\xa8]?\x15\xd6y\xec\xc4\x98\xf3Qf\xb4$\\\xd1\x9a\x00z\x8a\x99R\x80$\xd9Lx\xe8\x02\r\x984\xf0\xb4\x01*/5z\x14\xca\xd2\x03^\xc2\xd8\xbe8\xae\x8e\x1d+r\x1a\x90<\xd5\xcd"u\xab\x03B\x01Z1\x12\x9d)\x08\x9d\xee\x9boZ\xca\xba\x98\x9c\xd0\x06criQ3\xda\x98\xcb\t\t=\xaaO!\xbd(\x01|\x86\xf4\xa5\x10\xb5\x00;a\x14\xdf\x9a\x90\x13!j\xbd\x03\xc9X\xce74R,\x9f2\x95|\xca\xe5\xf6d2UgZ\xb0\xb7\xcc\x9d\xeb\x9eT\xcd I\xfd\xb2W\xbdW\xb8\xd6K/Z\xd2\x14\x8e\xc5;\x18\xf7:\x8e{\xd5a|k\xbdD\xe5\x9c\xee=\xafx\xaa\x13H^\xad#\x02\x93\xa3\x1e\xd5\x1f\x96\xde\x95`\x1b\x1b\xd2\x94!\xa0\t\x91j\xd2&h\x02\x7f.\xa3)H\x08\x1d9\xa6b\x98\x0f^\xb8\xadKa\xbd\x95Gz@u\xfa-\x97M\xddk\xbd\xb1\xd2\x95\xe0\xc9\x14\xecCg\xff\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

This is weird because while some parts of this data look like normal bytes that could be turned into an image, other parts seem very abnormal, like:

b'\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83'

Are these meant to be there? Is this an error in the data transfer? Is there a way that I can decode this into a JPEG image? I am just trying to see if anyone who knows a little more about JPEGs and raw byte data could push me in the right direction.

Jonas
  • 121,568
  • 97
  • 310
  • 388
  • Put the variable containing your bytes in the place of `im` in this example... https://stackoverflow.com/a/64581557/2836621 – Mark Setchell Aug 16 '22 at 20:33
  • Or write the contents of your variable holding those bytes to disk with name `image.jpg` which you open in **binary** mode and you'll have the image. – Mark Setchell Aug 16 '22 at 20:35

0 Answers0