Я решал очередную техническую задачу и столкнулся с проблемой: нужно сохранять изображения, а у меня нет сериализаторов и я не могу использовать готовые библиотеки. Ситуацию ухудшает, что из доступных форматов только PNG, JPEG и WebP. Выбор пал на PNG. Формат изображения PNG известен с 1996
В настоящий момент, exiftool является мощным инструментом для анализа и изменения различной информации о файлах. Недавно, экспериментируя с файлами формата PNG и exiftool, я обнаружил одну занятную вещь, связанную с тем, что exiftool в стандартном режиме не считывает кастомные чанки PNG. В данной статье рассмотрим структуру файлов PNG и способ как вписывать невидимые для стандартного режима exiftool чанки в PNG. Читать далее
(Наверно, это глупая идея. Но иногда даже самые глупые идеи приводят к неожиданным результатам.)Текст шекспировской трагедии «Ромео и Джульетта» состоит примерно из 146 тысяч символов. Благодаря английскому алфавиту каждый символ можно описать одним байтом. Так что размер текстового файла в обычном Unicode составляет примерно 142 КБ.В статье Adventures With Compression её автор JamesG размышляет о соревнованиях по сжатию текста и предлагает интересную мысль... Читать далее
Декодер изображений PNG из стандартной библиотеки языка программирования Wuffs работает в 1.22–2.75 раза быстрее, чем libpng (широко используемая реализация PNG декодера на C с открытым исходным кодом), C-библиотеки libspng, lodepng и stb_image, а также самые популярные библиотеки для работы с PNG на Go и Rust.Статья рассказывает о том, как именно достигается такая производительность. Читать далее