Перейти к содержимому
Aback Tools Logo

Детектор BOM

Загрузите любой файл, чтобы обнаружить маркеры порядка байтов (BOM) и определить кодировку текста. Наш детектор BOM читает заголовок файла и сопоставляет его с известными сигнатурами BOM для UTF-8, UTF-16 (Big Endian и Little Endian), UTF-32, UTF-7, GB 18030 и других. Просмотрите интерактивный hex-дамп с подсветкой байтов BOM, получите подробную информацию о кодировке с определением порядка байтов и практические рекомендации по кроссплатформенной совместимости. Вся обработка выполняется полностью в вашем браузере - без загрузок на сервер и без регистрации.

BOM Detector

Upload any file to detect Byte Order Marks (BOMs) - hidden byte sequences at the start of files that identify the text encoding and byte order. Supports UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE), UTF-7, GB 18030, and other BOM signatures. Displays the hex dump with BOM bytes highlighted, encoding details, and recommendations for cross-platform compatibility. All processing is done entirely in your browser - no uploads, no signup required.

Drag & drop a file here, or click to select

Detects BOM signatures in text and binary files

Почему стоит использовать наш детектор BOM?

  • Комплексное определение сигнатур BOM: определяет все стандартные сигнатуры маркера порядка байтов: UTF-8 (EF BB BF), UTF-16 Big Endian (FE FF), UTF-16 Little Endian (FF FE), UTF-32 Big Endian (00 00 FE FF), UTF-32 Little Endian (FF FE 00 00), UTF-7 (+/v), UTF-1, SCSU, BOCU-1 и GB 18030. Для каждого BOM указываются название кодировки, набор символов IANA, порядок байтов и типичный контекст использования.
  • Интерактивный просмотр в hex и ASCII: отображает первые 48 байт файла в виде интерактивного hex-дампа с представлением ASCII рядом. Обнаруженные байты BOM выделяются янтарным цветом для лёгкой визуальной идентификации. Hex-данные можно скопировать в буфер обмена одним нажатием для документации или дальнейшего анализа.
  • Рекомендации по кодировке: даёт практические рекомендации на основе обнаруженной BOM-кодировки. Предупреждает о проблемах кроссплатформенной совместимости - например, сообщает, если BOM UTF-8 обнаружен в исходном коде, что может вызвать проблемы в системах Unix/Linux, или предлагает конвертировать UTF-16 в UTF-8 для лучшей эффективности хранения и совместимости с инструментами.
  • Обработка на 100 % приватна в браузере: всё определение BOM происходит полностью в вашем браузере. Читаются только первые 1024 байта файла через API FileReader - данные никогда не загружаются на сервер. Ваши файлы не покидают устройство, поэтому безопасно анализировать конфиденциальные или проприетарные файлы.

Типичные случаи использования детектора BOM

  • Отладка проблем с кодировкой в веб-разработке: когда файлы PHP, Python или JavaScript выводят неожиданный результат (например, символы  в начале веб-страницы), часто виноват BOM UTF-8. Используйте наш детектор BOM, чтобы быстро определить, есть ли BOM в исходных файлах, а затем конвертируйте их в UTF-8 без BOM для чистого отображения.
  • Кроссплатформенная совместимость файлов: файлы, созданные в Windows, часто содержат BOM UTF-8, который вызывает проблемы при переносе в системы Unix/Linux/macOS. Скрипты со строкой shebang (#!) могут не работать, конфигурационные файлы могут читаться неверно, а инструменты сравнения могут показывать фантомные различия. Определяйте BOM, чтобы диагностировать и решать эти проблемы совместимости.
  • Проверка кодировки CSV и файлов данных: CSV-файлы, экспортированные из Microsoft Excel, часто содержат BOM UTF-8, что может влиять на то, как инструменты обработки данных читают файл. Определяйте BOM и кодировку, чтобы ETL-конвейеры, импорт в базы данных и инструменты анализа корректно обрабатывали файл.
  • Миграция устаревших форматов файлов: при переносе устаревших систем с кодировкой UTF-16, UTF-32 или GB 18030 на современные стандарты UTF-8 используйте определение BOM, чтобы выяснить, какие файлы нужно конвертировать. Механизм рекомендаций подсказывает лучшую стратегию конвертации для каждого типа кодировки.
  • QA и валидация файлов в конвейерах CI/CD: встраивайте определение BOM в процесс контроля качества. Убедитесь, что весь исходный код, конфигурационные файлы и документация соответствуют стандартам кодировки вашей команды. Обнаруживайте и отмечайте файлы с неожиданными BOM до того, как они вызовут проблемы в продакшене.
  • Информатика и изучение Unicode: интерактивно изучайте кодировку Unicode, порядок байтов, endianness и символ BOM (U+FEFF). Загружайте файлы в разных кодировках и наблюдайте, как различаются сигнатуры BOM. Практичный учебный инструмент для курсов по интернационализации и кодированию символов.

Что такое маркер порядка байтов (BOM)?

Маркер порядка байтов (BOM) - это символ Unicode (U+FEFF), который размещается в начале текстового файла для указания его кодировки и порядка байтов. BOM был разработан для решения фундаментальной проблемы многобайтовых кодировок: разные компьютерные архитектуры хранят многобайтовые значения в разном порядке байтов (endianness). Прочитав первые байты файла, программа может определить, закодирован ли текст в UTF-8, UTF-16 Big Endian, UTF-16 Little Endian или в другом формате, и правильно интерпретировать последующие байты. BOM определён в стандарте Unicode и распознаётся многими текстовыми редакторами, веб-браузерами и средами выполнения языков программирования.

Как работает наш детектор BOM

  1. Чтение файла: когда вы загружаете файл, наш инструмент читает первые 1024 байта через API FileReader браузера. Читается только заголовок, поэтому процесс определения остаётся быстрым даже для больших файлов.
  2. Сопоставление сигнатур BOM: байты в начале файла сравниваются с базой из 10 известных сигнатур BOM. Каждая сигнатура проверяется побайтово на точное совпадение. Если BOM найден, определяются кодировка, порядок байтов и набор символов IANA.
  3. Глубокое сканирование: помимо проверки начала файла инструмент ищет глубже (до 128 байт) другие BOM-подобные шаблоны. Это помогает обнаружить склеенные файлы или необычные структуры, где BOM может находиться со смещением, отличным от нуля.
  4. Формирование рекомендаций: на основе определённой кодировки инструмент даёт персональные рекомендации по кроссплатформенной совместимости, эффективности хранения и совместимости между инструментами.

Когда BOM использовать (а когда нет)

  • UTF-8 с BOM (EF BB BF): распространён в Windows, но может вызывать проблемы в Unix/Linux. PHP-скрипты с BOM вызывают ошибки «headers already sent». Python-скрипты могут не работать из-за строки shebang. Shell-скрипты могут молча ломаться. Рекомендуется: используйте UTF-8 без BOM для веб-контента и исходного кода.
  • BOM UTF-16 (FE FF / FF FE): необходимы для определения порядка байтов в файлах UTF-16. Требуются некоторыми API Windows и приложениями .NET. Однако файлы UTF-16 сложнее обрабатывать стандартными инструментами Unix (grep, sed, awk) и они занимают больше места при большом объёме ASCII.
  • BOM UTF-32 (00 00 FE FF / FF FE 00 00): используются крайне редко. UTF-32 вчетверо увеличивает объём хранения по сравнению с UTF-8 для большинства текстов и поддерживается очень немногими приложениями. Не рекомендуется для общего использования.
  • BOM, не относящиеся к Unicode: BOM GB 18030 используется в китайских государственных системах. Другие маркеры кодировок (UTF-7, SCSU, BOCU-1, UTF-1) устарели или крайне редки в современных приложениях.

Приватность, безопасность и ограничения

Наш детектор BOM обрабатывает всё полностью в вашем браузере. Читаются только первые 1024 байта каждого файла - данные никогда не загружаются на сервер. Инструмент на 100 % бесплатный: без регистрации, без аккаунта и без ограничений на использование.

Поддерживаемые сигнатуры BOM: UTF-8, UTF-16 BE/LE, UTF-32 BE/LE, UTF-7, UTF-1, SCSU, BOCU-1 и GB 18030 - охватывают все стандартные сигнатуры BOM, определённые в стандарте Unicode и связанных спецификациях кодировок.

Ограничения: определение BOM выявляет только маркер кодировки - оно не проверяет, соответствует ли остальной файл этой кодировке. Файлы без BOM (как большинство файлов UTF-8 в Unix/Linux) будут показаны как «BOM не найден». Бинарные файлы могут случайно начинаться с байтов, совпадающих с сигнатурами BOM, что может давать ложные срабатывания. Инструмент читает только первые 1024 байта; BOM за пределами этого диапазона не будет обнаружен.

Часто задаваемые вопросы

Маркер порядка байтов (BOM) - это символ Unicode (U+FEFF), кодируемый в начале текстового файла и указывающий используемую кодировку и порядок байтов. Он помогает программам правильно интерпретировать кодировку текста, не угадывая её.

Наш детектор BOM поддерживает 10 сигнатур BOM: UTF-8 с BOM, UTF-16 Big Endian, UTF-16 Little Endian, UTF-32 Big Endian, UTF-32 Little Endian, UTF-7, UTF-1, SCSU, BOCU-1 и GB 18030.

Для кроссплатформенной совместимости рекомендуется UTF-8 без BOM, особенно в веб-разработке и исходном коде. BOM может вызывать проблемы в PHP, Python и shell-скриптах в системах Unix/Linux.

Да. Бинарные файлы могут случайно начинаться с байтов, совпадающих с сигнатурами BOM. Учитывайте контекст типа файла при интерпретации результатов.

Читаются первые 1024 байта (1 КБ) - этого более чем достаточно, поскольку BOM имеет длину не более 4 байт.

Да. Читаются только первые 1024 байта, и вся обработка выполняется в браузере - данные никогда не загружаются на сервер.

Для файлов без BOM инструмент сообщает «BOM не найден». Большинство файлов UTF-8 в Unix/Linux/macOS хранятся без BOM, что и рекомендуется.

Да! На 100 % бесплатно: без регистрации, без аккаунта, без API-ключа и без ограничений на использование.