Как сэкономить один байт в GIF

Trailer (7.79КиБ) Я понимаю, один байт — не бог весть что, но, возможно, кому-то и такая мелочь будет приятна. Например, полезно во всяких конкурсах, вроде JS1K и т.п.

Файл в формате GIF должен заканчиваться символом с кодом 0x3B («;»), который называется «trailer». На самом деле, этот символ чаще всего не требуется декодерами (хотя обязателен в стандарте). Я проверил на сервисе скриншотов, все браузеры, которые там перечислены, кроме Konqueror 4.2 и выше, поддерживают файлы GIF без этого байта.

Я так же вывесил такой GIF у себя на сайте, обнаружилось, что его так же не поняли агенты, которые подписываются как Java/1.6.0_xx (думаю, это какие-то браузеры на J2ME).

Вывод: если вас это не смущает, то можете сократить свои GIFы на один байт. Или, напротив, проверьте имеют ли ваши GIF этот байт, если для вас почему-то важны эти браузеры (основанные на J2ME и Konqueror 4.xx).
20 января 2011 23:03

u1itka (инкогнито)
20 января 2011, 23:18

А как ты понял, что этот GIF не смогли понять агенты на Java/1.6.0?

bolk (bolknote.ru)
20 января 2011, 23:23, ответ предназначен u1itka

Я поместил такой GIF на своём сайте, на onerror этой картинки повесил вызов логгера useragent'а. «Поймалось» несколько браузеров, я их все перечислил.

besisland (besisland.name)
21 января 2011, 00:16

После трейлера могут идти произвольные данные?

bolk (bolknote.ru)
21 января 2011, 00:33, ответ предназначен besisland (besisland.name):

Судя по описанию формата, да. Но возможно я что-то не так понял. В любом случае, внутри extension можно хранить произвольные данные.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)