Что такое формат файла ICO?
Файлы с расширением .ico хранят файлы изображений, используемые в качестве значков для приложений, документов и папок в операционной системе Windows. Формат был разработан Microsoft и является частью Windows начиная с версии 1.0.
Хранит ли файл .ico одно масштабируемое изображение значка?
Старые версии Windows использовали файлы .ico, каждый из которых содержал одно изображение значка размером 48×48 пикселей. Этого было достаточно для требований дисплеев того времени. Однако по мере роста популярности мониторов с высоким разрешением значков одного размера стало недостаточно, и потребовалось более гибкое решение. Сегодня файлы .ico работают как контейнеры, в которых хранятся несколько изображений разных размеров - обычно от 16×16 до 256×256 пикселей - чтобы операционная система могла выбрать наиболее подходящее разрешение для каждого контекста. Начиная с Windows Vista, отдельные изображения внутри контейнера также могут храниться в виде сжатых данных PNG, а не в виде необработанных пикселей BMP, что заметно снижает размер файла при больших размерах значков.
Какие данные содержат файлы favicon.ico?
Файлы .ico также используются для хранения изображений фавиконов веб-сайтов. Это значки, отображаемые на вкладке браузера и в адресной строке слева от адреса сайта. Фавиконы сайтов сохраняются в специальных файлах favicon.ico, расположенных в корневой папке сайта, где браузеры находят их автоматически. favicon.ico обычно объединяет изображения нескольких размеров - как минимум версию 16×16 - чтобы разные среды могли выбрать подходящее. Тесно связанный формат .cur имеет ту же структуру контейнера, но хранит курсоры мыши вместо значков.
Безопасность и защита
РИСК: LOWФайл .ico - это данные изображения, а не исполняемый код, поэтому подлинный файл значка безопасен для открытия в просмотрщике. Стоит знать о двух предостережениях: (1) исторически в ПАРСЕРАХ значков встречались ошибки - в прошлом специально сформированный .ico использовался для вызова сбоев/эксплуатации уязвимостей в оболочке Windows или библиотеках изображений, поэтому обновляйте ОС и просмотрщик; (2) .ico часто используется для маскировки вредоносных файлов (исполняемый файл, переименованный с расширением значка, или .ico в качестве приманки), поэтому будьте осторожны со «значком», который пришел неожиданно или запрашивает запуск. Для фавиконов и значков папок из обычных источников риск практически отсутствует.
Детали формата
в двух словах- Курсор Windows (.cur / .ani) - Формат курсора байт в байт почти совпадает с контейнером; он отличается только полем типа (2 вместо 1) и добавляет координаты активной точки.
Программы, открывающие файлы ICO
Технические подробности
глубокая спецификация| Структура контейнера | Заголовок ICONDIR, за которым следует массив записей ICONDIRENTRY, каждая из которых указывает на один встроенный блок изображения внутри файла |
| Магические байты | 00 00 01 00 со смещением 0: два зарезервированных нулевых байта, затем поле типа 01 00, идентифицирующее файл как значок |
| Форматы встроенных изображений | Каждая запись содержит либо аппаратно-независимый растр (DIB/BMP), либо полный поток PNG; формат определяется по размеру данных записи и сигнатуре PNG |
| Диапазон размеров изображений | От 1×1 до 256×256 пикселей на каждую встроенную запись изображения |
| Стандартные размеры значков | 16×16, 32×32, 48×48, 64×64, 128×128 и 256×256 пикселей; Windows выбирает наиболее подходящий вариант во время выполнения |
| Поддерживаемая глубина цвета | 1 бит (монохромный), 4 бита, 8 бит, 24-битный RGB и 32-битный ARGB для каждой отдельной записи |
| Альфа-прозрачность | 32-битные записи содержат 8-битный альфа-канал для каждого пикселя; старые записи с меньшей глубиной цвета используют отдельную 1-битную маску AND для прозрачности |
| Максимальное количество встроенных изображений | До 65 535 записей на файл, что ограничено 2-байтным полем количества изображений в заголовке ICONDIR |
| Записи со сжатием PNG | Данные PNG разрешены для записей начиная с Windows Vista, что существенно снижает размер файла для изображений 256×256 |
| MIME-тип | image/vnd.microsoft.icon |
| Вариант формата курсора | Формат курсора .cur использует идентичный контейнер с байтом типа 02 00 и добавляет координаты активной точки (hotspot) к каждой записи |
| Выбор изображения ОС | Windows автоматически выбирает наиболее подходящий размер и глубину цвета из встроенного набора для каждого контекста отображения (оболочка, панель задач, заголовок окна) |
| Встраивание ресурсов оболочки | Значки часто встраиваются внутрь файлов .exe и .dll как ресурсы RT_ICON и RT_GROUP_ICON, а не хранятся как отдельные файлы .ico |
| Использование фавиконов | Браузеры запрашивают favicon.ico из корневого каталога сайта; один файл может объединять несколько размеров для вкладок, закладок и ярлыков на главном экране |
| Выпущен | 1985 (Windows 1.0); PNG-compressed icons supported since Windows Vista, 2007 |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации ICO
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ICO.