Подробный гайд по TIFF: сжатие, порядок байтов, цветовая модель и кодировка метаданных

Гайд по TIFF: как узнать сжатие, порядок байтов, цветовую модель и кодировку метаданных с помощью ExifTool, ImageMagick, tiffinfo, Python и hex-редакторов.

2026.09.20                  


Подробный гайд по TIFF: сжатие, порядок байтов, цветовая модель и кодировка метаданныхПодробный гайд по TIFF: сжатие, порядок байтов, цветовая модель и кодировка метаданных

Коротко:

У файла .tiff нет текстовой кодировки вроде UTF-8 или Windows-1251 — это бинарный формат изображения.

Если под «кодировкой» вы имеете в виду:

  • сжатие/метод кодирования данных — смотрите тег Compression;
  • порядок байтовByte Order / endianness: II или MM;
  • цветовую модельPhotometricInterpretation, ColorSpace;
  • битностьBitsPerSample;
  • кодировку текста внутри метаданных — EXIF/IPTC/XMP, это отдельная история.



1. Самый удобный способ: ExifTool

ExifTool показывает почти все теги TIFF.

Установка

Windows:

Скачайте exiftool.exe с официального сайта, переименуйте в exiftool.exe и добавьте папку в PATH.

macOS:

brew install exiftool

Linux (Debian/Ubuntu):

sudo apt install libimage-exiftool-perl

Fedora:

sudo dnf install perl-Image-ExifTool

Основные команды

Посмотреть всё:

exiftool image.tiff

Посмотреть всё с группами и короткими именами:

exiftool -a -G1 -s image.tiff

Только ключевые параметры TIFF:

exiftool -ByteOrder -Compression -PhotometricInterpretation -BitsPerSample -SamplesPerPixel -PlanarConfiguration -ColorSpace image.tiff

Пример вывода:

Byte Order                  : Little-endian (Intel, II)
Compression                 : LZW
Photometric Interpretation  : RGB
Bits Per Sample             : 8 8 8
Samples Per Pixel           : 3
Planar Configuration        : Chunky
Color Space                 : sRGB

Что это значит:

  • Byte Order: II — little-endian, MM — big-endian.
  • Compression: метод сжатия: None, LZW, Deflate, JPEG, PackBits, CCITT и т.д.
  • Photometric Interpretation: RGB, CMYK, Grayscale, Palette, YCbCr.
  • Bits Per Sample: 8, 16, 1 и т.д.
  • Samples Per Pixel: 1 — серый, 3 — RGB, 4 — CMYK/RGBA.
  • Planar Configuration: Chunky или Planar.

Если TIFF многстраничный:

exiftool -a -G1 -s -ee image.tiff

2. ImageMagick

Установка

Windows:

Установите ImageMagick с официального сайта.

macOS:

brew install imagemagick

Linux:

sudo apt install imagemagick

Команды

Подробный вывод:

identify -verbose image.tiff

Отфильтровать главное:

identify -verbose image.tiff | grep -iE "compression|endian|photometric|colorspace|depth|type|geometry|profile"

В Windows PowerShell можно так:

identify -verbose image.tiff | Select-String -Pattern "compression|endian|photometric|colorspace|depth|type|geometry|profile"

Кратко:

identify -format "%f\n  format: %m\n  compression: %[compression]\n  colorspace: %[colorspace]\n  depth: %[bit-depth]\n  type: %[type]\n" image.tiff

3. libtiff / tiffinfo

Это «родная» утилита для TIFF.

Установка

Linux:

sudo apt install libtiff-tools

macOS:

brew install libtiff

Windows:

Через MSYS2, Cygwin или GnuWin32.

Команда

tiffinfo image.tiff

Пример вывода:

TIFF Directory at offset 0x8
  Image Width: 1920
  Image Length: 1080
  Bits/Sample: 8
  Compression Scheme: LZW
  Photometric Interpretation: RGB
  Samples/Pixel: 3
  Planar Configuration: contiguous
  Byte Order: little-endian

Если файл многстраничный, tiffinfo покажет все директории.


4. Быстрые команды: file, sips, mdls

Linux / macOS / Git Bash

file image.tiff

Показывает базовую информацию: TIFF, little/big-endian, иногда сжатие.

macOS

sips -g all image.tiff

Или конкретные параметры:

sips -g format -g space -g bitsPerSample -g samplesPerPixel -g hasAlpha -g profile image.tiff

Ещё:

mdls image.tiff

5. Python

Pillow

pip install pillow
from PIL import Image

im = Image.open("image.tiff")
print("mode:", im.mode)
print("size:", im.size)
print("info:", im.info)

print("TIFF tags:")
for tag, value in im.tag_v2.items():
    print(tag, value)

tifffile — лучше для TIFF

pip install tifffile
import tifffile

with tifffile.TiffFile("image.tiff") as tif:
    print("byteorder:", tif.byteorder)  # '<' little-endian, '>' big-endian

    for i, page in enumerate(tif.pages):
        print(f"\n--- page {i} ---")
        print("compression:", page.compression)
        print("photometric:", page.photometric)
        print("bitspersample:", page.bitspersample)
        print("samplesperpixel:", page.samplesperpixel)
        print("planarconfig:", page.planarconfig)

        for tag in page.tags.values():
            print(tag.name, tag.value)



6. Hex-редактор: ручная проверка

Откройте TIFF в HxD, 010 Editor, ImHex или другом hex-редакторе.

Первые байты:

  • 49 49 2A 00little-endian, II
  • 4D 4D 00 2Abig-endian, MM

2A — это магическое число TIFF.

Основные теги TIFF:

Код тега Название Что означает
0x0100 ImageWidth ширина
0x0101 ImageLength высота
0x0102 BitsPerSample бит на канал
0x0103 Compression сжатие
0x0106 PhotometricInterpretation цветовая модель
0x0115 SamplesPerPixel число каналов
0x011C PlanarConfiguration chunky/planar
0x014A SubIFDs дополнительные страницы

Значения Compression:

Код Сжатие
1 None
2 CCITT 1D
3 CCITT Group 3
4 CCITT Group 4
5 LZW
6 JPEG (old)
7 JPEG
8 Deflate / ZIP
32773 PackBits
32946 Deflate
50000 ZSTD
50001 WebP

Значения PhotometricInterpretation:

Код Цвет
0 WhiteIsZero
1 BlackIsZero
2 RGB
3 Palette
4 Transparency Mask
5 CMYK
6 YCbCr
8 CIELab

7. Если нужна именно текстовая кодировка внутри TIFF

TIFF сам по себе текст не хранит.

Но внутри могут быть метаданные:

  • EXIF — обычно ASCII.
  • IPTC — может иметь CodedCharacterSet.
  • XMP — обычно UTF-8.

Проверить через ExifTool:

exiftool -a -G1 -s -EXIF:All -IPTC:All -XMP:All image.tiff

Кодировка IPTC:

exiftool -IPTC:CodedCharacterSet image.tiff

Если выводит UTF8 — текст в UTF-8. Если пусто — часто Latin-1 / Windows-1252.

Извлечь XMP:

exiftool -b -XMP image.tiff > xmp.xml

Откройте xmp.xml и посмотрите начало:

<?xpacket begin="..."?>
<?xml version="1.0" encoding="UTF-8"?>

Если указано encoding="UTF-8" — XMP в UTF-8.


8. GUI-варианты

Windows:

  • IrfanView: откройте файл, нажмите I или File → Information.
  • XnView MP: правый клик → PropertiesMetadata.
  • ExifToolGUI — графическая оболочка для ExifTool.

macOS:

  • Preview: Cmd+I → Inspector.
  • ExifTool через Terminal.
  • sips -g all image.tiff.

Linux:

  • GIMP: Image → Image Properties.
  • Gwenview / digiKam: панель метаданных.
  • ExifTool / tiffinfo в терминале.

Photoshop:

  • File → File Info — метаданные.
  • Image → Mode — цветовая модель.
  • Но метод сжатия TIFF Photoshop показывает не всегда.

Краткий рецепт

  1. Установите ExifTool.
  2. Выполните:
exiftool -a -G1 -s image.tiff
  1. Смотрите:
    • Byte Order — порядок байтов;
    • Compression — метод сжатия/кодирования;
    • Photometric Interpretation — цветовая модель;
    • Bits Per Sample, Samples Per Pixel — битность и каналы;
    • Color Space — sRGB, Adobe RGB, CMYK и т.д.
  2. Если нужен текст внутри метаданных:
exiftool -a -G1 -s -EXIF:All -IPTC:All -XMP:All image.tiff

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта