Zstandard-поток (.zst)

IETF Стандарт

Zstandard (Zstd): это современный алгоритм сжатия без потерь в реальном времени от компании Meta, обеспечивающий степень сжатия, сопоставимую с Deflate.

Конвертировать из ZSTD в GZIP

Бесплатный конвертер из ZSTD в GZIP прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы Zstandard по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы Zstandard по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

28 B5 2F FD

ПРЕДСТАВЛЕНИЕ ASCII: (µ/ý

Стандартизация: IETF RFC 8878

Технические спецификации

Архитектура контейнераЗаголовок фрейма с магическим числом 0xFD2FB528, дескриптор фрейма, блоки данных и опциональная 32-битная/64-битная контрольная сумма
СжатиеКодер конечных энтропийных состояний (FSE) + кодирование Хаффмана + LZ77 с большими окнами поиска (до 2 ГБ)
Порядок байтов (Endianness)Младший байт первым (Little-Endian); биты в потоке также идут младшими первыми.
Цветовые пространстваН/Д (поток сжатия данных)
Каналы и структураСжатие байтового потока общего назначения
Максимальные размерыНеограниченная емкость потоковых данных
Прозрачность100% побитово точное воспроизведение данных без потерь
Потоковая передача и прогрессивная загрузкаПотоковая передача сверхвысокой пропускной способности, разработанная для полной загрузки многогигабитных NVMe и сетевых каналов

Техническая матрица сравнения: Zstandard с конкурентами

Технический атрибутZstandard (Текущий)GZBROTLILZ4
Скорость распаковкиСверхбыстрая (1.5: 3.0 ГБ/с)Умеренная (~300 МБ/с)Быстрая (~400 МБ/с)Ошеломляющая (~4.0 ГБ/с)
Эффективность сжатияВыше, чем у Gzip, соответствует Bzip2Базовый стандартНаивысшая для веб-текстовНизкая (с акцентом на скорость)
Обучение словарямСловари, обученные для конкретных данныхОтсутствуетФиксированный веб-словарь на 120 КБОтсутствует
Принятие в современных ОСЯдро Linux, Arch, Fedora, BtrfsДоступен в некоторых старых дистрибутивах UnixВеб-браузеры и периферийные узлы CDNЯдро Linux и игровые движки

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Ошибка распаковки: 'ZSTD_error_checksum_wrong: Ошибка проверки контрольной суммы'.

Первопричина: Поврежденный байт в блоке данных, из-за чего проверка 32-битной или 64-битной контрольной суммы xxHash завершается с ошибкой.

Восстановление: Извлеките с помощью параметра '--force' для обхода проверки контрольной суммы или восстановите с помощью конвертера File2File.app Zstd.

Анализ безопасности и векторы атак на парсер

Конечный автомат декодирования FSE в Zstandard должен тщательно проверять описания таблиц для предотвращения недопустимых переходов состояний.

Известные векторы атак

  • Поврежденные нормализованные таблицы счетчиков FSE могут привести к выходу за границы таблицы состояний при поиске по ней.
  • Переполнение целых чисел во время выделения памяти под окно большого размера.
  • Отказ в обслуживании из-за исчерпания памяти при обработке пользовательского словаря.

Лучшие практики защиты: Проверяйте ограничения размера окна заголовка фрейма и ограничивайте максимально допустимое выделение памяти для словаря.

История происхождения и ключевые этапы

2021IETF публикует Zstandard как RFC 8878; основные дистрибутивы Linux (Arch, Fedora, Ubuntu) принимают его для упаковки.
2018Ядро Linux 4.14 включает сжатие Zstandard для файловых систем Btrfs и SquashFS.
2015Ян Колле (Yann Collet) выпускает Zstandard в Facebook, представляя технологию конечных энтропийных состояний (Finite State Entropy: FSE).

Ключевые преимущества и плюсы

  • Распаковывает данные со скоростью 1,5-3,0 ГБ/с на ядро, полностью используя пропускную способность высокоскоростных SSD NVMe.
  • 22 уровня сжатия: от сверхбыстрого сжатия в реальном времени до максимально плотного сжатия для архивов.
  • Обучение пользовательским словарям позволяет достичь в 3: 5 раз лучшего сжатия для небольших записей, таких как JSON и строки баз данных.

Технические ограничения и минусы

  • Немногим больший объем потребляемой памяти по сравнению с устаревшим Deflate во время сжатия высокого уровня с большими размерами окон.
  • Требует современного инструментария; на старых серверах Unix могут отсутствовать предустановленные утилиты zstd.
  • Сырые потоки .zst требуют контейнеризации (например, TAR) для сохранения иерархии каталогов.

Интересные технические факты

  • Zstandard использует энтропию конечных состояний (tANS): прорыв в области асимметричных систем счисления, разработанный Яреком Дудой, который достигает пределов энтропии Шеннона на скоростях оборудования.
  • Arch Linux и Fedora перевели свои пакетные менеджеры (pacman и dnf) на формат .tar.zst, ускорив установку программного обеспечения более чем на 400%.
  • Магические байты 0x28 0xB5 0x2F 0xFD были выбраны таким образом, чтобы их можно было легко распознать и избежать коллизий с устаревшими форматами.

Часто задаваемые технические вопросы

Почему Zstandard заменяет Gzip в современном Linux?

Zstandard сжимает файлы сильнее Gzip и распаковывает их в 5-10 раз быстрее. Это заметно сокращает время установки программ и снижает нагрузку на процессор сервера.

Что такое словарное сжатие в Zstd?

Zstd может обучаться на наборе небольших файлов (например, ответов JSON API) для создания пользовательского словаря, позволяя последующим файлам сжиматься до 5 раз эффективнее за счет ссылок на общие шаблоны.

Как распаковать файл .zst или .zstd?

Вы можете распаковывать файлы .zst и .tar.zst прямо в веб-браузере с помощью File2File.app без установки утилит командной строки.