О текстовом (.svg) и двоичном (.svgz) форматах SVG файлов.
В этом посте мы познакомимся со сжатой (двоичной) формой представления данных в SVG-формате.
Нетрудно понять, что, формат svg-файла текстовый, поэтому его код можно просматривать и редактировать даже в Блокноте от MS Windows, помня только, что его расширение должно быть .svg.
Но существует также возможность сжать svg-формат, и тогда он станет двоичным. В этом случае придусмотрено другое расширение - .svgz. При этом svgz-файл будет запускаться так же, как и несжатый, будет раза в 3 меньше весом, правда, открыть его текстовым редактором уже будет нельзя, но это, как будет видно из дальнейшего, легко обходимая проблема.
Как же создать двоичный (сжатый) svgz-файл?
Проще всего это сделать так. Запустить svg-файл в IE (c установленным плагином Adobe SVG Viewer 3.03) и кликнуть по активной области правой кнопкой мыши. В выпадающем меню (это работает плагин) выбираем пункт Save svg as.., а в открывшемся окне сохранения выбираем Тип файла Compressed Scalable Vector Graphics (*.svgz). Все! Если не менять имя файла и его месторасположение, то получим сжатый (уже двоичный!) svgz-файл, который упадет в тот же каталог и под тем же именем, что и текстовый. Разумеется, этому файлу автоматически будет назначено расширение .svgz.
При желании (например, когда надо отредактировать или просто посмотреть исходный код svgz-файла), любой svgz-файл можно преобразовать в соответствующий текстовый svg-файл, проведя приведенную выше процедуру но, выбрав при сохранении файла тип файла Scalable Vector Graphics(*.svg) . В результате мы получим текстовый svg-файл, который уже можем читать и редактировать.
Для любителей тонких деталей отмечу, что алгоритм сжатия аналогичен алгоритму в архиваторе gzip, поэтому можно автономно использовать этот архиватор (или, например, архиватор WinRar, который поддерживает формат .gz). Порядок генерации svgz-файла в этом случае таков:
- Давим исходный svg-файл gzip-ом или другим архиватором, поддерживающим формат .gz.
- Переименовываем в сжатом файле расширение .gz на расширение .svgz.
Обратная процедура:
- Переименовываем вручную расширение .svgz в .gz.
- Разархивируем gzip-ом (WinRar-ом) образовавшийся архив, указав расширение .svg.
Всё, дело сделано! Вот, пожалуй, и всё на сегодня. До новых постов!
Владимир В. Блохин.