Как перевести TIFF в Base64
- Перетащите файл
.tifили.tiffв область загрузки или выберите его через диалог. - Формат вывода по умолчанию стоит на Чистый Base64: именно его ждёт большинство API. JSON добавляет имя, MIME-тип и размер.
- Нажмите Скопировать результат. Для больших сканов используйте Сохранить как .txt и прикрепите или загрузите текстовый файл.
Изменения размера и конвертации на этой странице нет. Для них браузеру пришлось бы декодировать изображение, а TIFF умеет декодировать только Safari. Файл кодируется байт в байт, поэтому многостраничные документы, сжатие и теги остаются нетронутыми.
Где используется TIFF в Base64
TIFF до сих пор – формат по умолчанию у многих сканеров документов и факс-систем, и он широко распространён в архивах, полиграфии и геоданных (GeoTIFF). Когда такие файлы нужно положить в JSON-запрос, их обычно передают в Base64:
- API распознавания (OCR) и обработки документов, которые принимают сканы страниц в Base64 наравне с PDF и JPEG.
- Факс-сервисы и системы электронной подачи документов, работающие с многостраничными TIFF.
- Учётные системы, которые хранят сканы в текстовом столбце базы данных или в JSON-выгрузке.
Убедитесь, что получатель поддерживает сжатие, которое использовал ваш сканер. Старые системы могут читать несжатый TIFF или TIFF с LZW, но не TIFF со сжатием JPEG, а факс-сервисы часто ждут CCITT Group 3 или Group 4.
Размер: всё решает сжатие
TIFF хранит пиксели либо без сжатия, либо по одной из нескольких схем сжатия. От этого выбора длина Base64 меняется в разы. Тест: сгенерированная страница A4 с одним текстом, 300 dpi (2480×3508 пикселей), сохранённая тремя способами:
| Как сохранено | Файл TIFF | Длина Base64 |
|---|---|---|
| 8-битные оттенки серого, без сжатия | 8 699 962 байта | 11 599 952 символа |
| 1 бит, чёрно-белое, без сжатия | 1 087 590 байтов | 1 450 120 символов |
| 1 бит, CCITT Group 4 | 15 270 байтов | 20 360 символов |
Для страницы текста чёрно-белый режим со сжатием Group 4 в сотни раз меньше оттенков серого. Прежде чем отправлять сканы в API с ограничением на размер, пересканируйте или переконвертируйте их в программе сканера: на стороне Base64 тут ничего не выиграть.
Как выглядит TIFF в Base64
| Байты заголовка | Base64 | Порядок байтов |
|---|---|---|
49 49 2A 00 (II*) | SUkqAA | little-endian, встречается чаще |
4D 4D 00 2A (MM*) | TU0AKg | big-endian |
49 49 2B 00 (II+) | SUkrAA | BigTIFF, для файлов больше 4 ГБ |
TIFF с порядком little-endian и первым каталогом по смещению 8 начинается с SUkqAAgAAAA. Чтобы превратить Base64 обратно в файл, используйте Base64 в файл: он распознаёт стандартные заголовки TIFF. Для других форматов изображений, которые браузеры умеют показывать, есть картинка в Base64.
Вопросы и ответы
Можно ли показать TIFF в Base64 на веб-странице?
Только в Safari. Chrome, Edge и Firefox не декодируют TIFF ни в <img>, ни в CSS, поэтому URI data:image/tiff покажет там битую картинку. Для веба переведите скан в PNG, JPEG или PDF.
Сохраняет ли Base64 все страницы многостраничного TIFF?
Да. Base64 кодирует файл целиком, так что все страницы, сжатие и метаданные остаются на месте. К получателю придёт ровно тот файл, который вы перетащили.
Что означают SUkqAA и TU0AKg?
Это два возможных заголовка TIFF. SUkqAA – это II*\0, TIFF с порядком байтов little-endian (обычный случай); TU0AKg – это MM\0*, big-endian. Файлы BigTIFF вместо этого начинаются с SUkrAA.