Я анализирую JPG в байте java за байтом. Затем я пишу одно и то же изображение побайтово, и я столкнулся со странностью. Я пытался посмотреть спецификации, но не вижу ссылки.
В конце раздела SOS есть три байта, которые большинство источников говорят «пропустить». Но если я пишу 0x00,0x00,0x00, то java (fx) жалуется на недопустимое значение. Если я напишу 0x000x3f0x00, то жалоб нет. (трехбайтовая последовательность - это то, что было создано GIMP в исходном файле)
Я обнаружил косвенную ссылку на это в репозитории GoLang
// - the bytes "\x00\x3f\x00". Section B.2.3 of the spec says that for
// sequential DCTs, those bytes (8-bit Ss, 8-bit Se, 4-bit Ah, 4-bit Al)
// should be 0x00, 0x3f, 0x00<<4 | 0x00.
У меня вопрос, должен ли я просто написать 0x3f в этой позиции, или значение зависит от чего-то еще?