Перейти к содержанию
TextArray
100% локально

Менеджер спецификации (добавление/удаление)

Добавьте или удалите невидимый знак порядка байтов UTF-8 в начале текста.

Входные данные
Выходные данные

Менеджер спецификации (добавление/удаление)

Знак порядка байтов — это три невидимых байта — U+FEFF, которые некоторые редакторы и инструменты Windows отмечают в самом начале файла UTF-8. Вы никогда этого не видите, но все, что происходит в дальнейшем, делает: спецификация приводит к сбою сценария оболочки в первой строке, прерывает импорт CSV, который ожидает чистый заголовок, отображается как моджибаке перед <?php или <?xml и превращает файл JSON в ошибку синтаксического анализа. Этот инструмент добавляет или удаляет его за одну пасту и определяет, присутствует ли он, ничего не трогая.

Удалите ровно одну ведущую спецификацию и оставьте остальную часть текста, включая любой умышленный неразрывный пробел нулевой ширины в середине, полностью в покое. При добавлении добавляется спецификация, но никогда вторая, если она уже существует, поэтому можно безопасно запустить ее дважды. Detect сообщает о состоянии и возвращает текст без изменений, когда вам просто нужно это знать. Подсчет описывает то, что произошло, и дает итоговое количество байтов UTF-8, где три байта спецификации — единственная разница, которую вы увидите.

Зачем вам вообще добавлять спецификацию? Несколько инструментов по-прежнему полагаются на него: Excel считывает CSV-файл UTF-8 без спецификации как локальную кодовую страницу ANSI и искажает имена с диакритическими знаками, поэтому спецификация является прагматичным исправлением для CSV-файлов, открытых в Excel. Практически для всего остального — веб-серверов, сценариев, файлов конфигурации, исходного кода — спецификация является обузой, а удаление — ответом.

Все работает локально в вашем браузере — содержимое вашего файла никогда не покидает ваше устройство.

FAQ

Что на самом деле представляет собой спецификация?
Символ Юникода U+FEFF в начале файла. В UTF-16 он сигнализирует порядок байтов; в UTF-8 он избыточен, но иногда используется как маркер «это UTF-8». В качестве текста это неразрывный пробел нулевой ширины, поэтому он совершенно невидим.
Когда мне следует удалить спецификацию?
Почти всегда. Спецификация UTF-8 нарушает сценарии оболочки (шебанг должен быть первым байтом), заставляет PHP и механизмы шаблонов выдавать случайные выходные данные и отклоняется строгими анализаторами JSON, YAML и некоторыми анализаторами XML. Если файл «имеет невидимый символ в начале», который ломает инструмент, он удаляется.
Когда добавление спецификации является правильным решением?
В основном это файлы CSV, которые вы открываете в Microsoft Excel. Без спецификации Excel угадывает локальную кодировку ANSI и искажает символы с диакритическими знаками; со спецификацией он правильно читает UTF-8. Некоторые старые инструменты Windows ведут себя аналогичным образом.
Затрагивает ли он пробелы нулевой ширины внутри текста?
Нет. В самом начале добавляется или удаляется только одна спецификация. U+FEFF, который появляется в середине текста — как умышленный неразрывный пробел или случайный невидимый символ — остаётся там, где он есть.
Мой текст где-нибудь загружен?
Нет. Обработка спецификации полностью выполняется в вашем браузере, и ваш текст никогда не покидает ваше устройство.