Это команда enconv, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
enca - обнаружение и преобразование кодировки текстовых файлов
СИНТАКСИС
энка [-L АНГЛИЙСКИЙ ЯЗЫК] [ВАРИАНТ] ... [ФАЙЛОВ] ...
окружать [-L АНГЛИЙСКИЙ ЯЗЫК] [ВАРИАНТ] ... [ФАЙЛОВ] ...
ВВЕДЕНИЕ И ПРИМЕРЫ
Если вам повезет, вам нужно будет знать только две вещи: команду
энка ФАЙЛОВ
скажет вам, какой файл кодировки ФАЙЛОВ использует (без изменения), и
окружать ФАЙЛОВ
конвертирует файл ФАЙЛОВ в исходную кодировку вашей локали. Чтобы преобразовать файл в другой
кодирование использовать -x вариант (см. -x запись в разделе ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ и разделы Конверсия и
КОДИРОВКА для более подробной информации).
Оба работают с несколькими файлами, а также со стандартным вводом (выводом). Например
enca -x latin2
гарантирует, что файл `sometext 'находится в формате ISO Latin 2 при отправке на принтер.
Основная причина, по которой эта команда не сработает и превратит ваши файлы в мусор, заключается в том, что Enca
необходимо знать свой язык, чтобы определить кодировку. Он пытается определить ваш язык
и предпочтительный набор символов из настроек локали, который может быть не тем, что вам нужно.
Вы можете (или должны) использовать -L возможность сказать это на правильном языке. Допустим, вы скачали
какой-то русский HTML-файл, `file.htm ', он утверждает, что это windows-1251, но это не так. Так ты бежишь
enca -L ru файл.htm
и узнаем, что это KOI8-R (например). Будьте осторожны, в настоящее время поддерживается не так много
языки (см. раздел ЯЗЫКИ).
Еще одно предупреждение касается того факта, что несколько функций Enca, а именно преобразование кодировки
возможности, сильно зависят от того, какие другие инструменты установлены в вашей системе (см.
. КОНВЕРСИЯ)--запустить
энка --версия
чтобы получить список возможностей (см. раздел ФУНКЦИИ И ОСОБЕННОСТИ). Также попробуйте
энка --помощь
чтобы получить описание всех других опций Enca (и найти остальную часть этой страницы руководства
избыточный).
ОПИСАНИЕ
Enca читает заданные текстовые файлы или стандартный ввод, если они не заданы, и использует знания
об их языке (должно быть подтверждено вами) и смеси синтаксического анализа, статистических
анализ, угадывание и черная магия для определения их кодировок, которые затем распечатываются в
стандартный вывод (или он признается, что понятия не имеет, какой может быть кодировка). К
по умолчанию Enca представляет результаты в виде многострочных удобочитаемых описаний, некоторые другие
доступны форматы - см. Селекторы типа вывода ниже.
Enca также может конвертировать файлы в другую кодировку. ENC когда вы просите об этом - либо используя
встроенным конвертером, какой-нибудь библиотекой конвертации или вызовом внешнего конвертера.
Основная цель Enca состоит в том, чтобы ее можно было использовать без присмотра в качестве инструмента автоматического преобразования.
возможно, еще не достигли этой точки (см. раздел БЕЗОПАСНОСТЬ).
Обратите внимание, за исключением редких случаев, Enca действительно должна знать язык входных файлов, чтобы
Вам надежный ответ. С другой стороны, тогда он может довольно хорошо справляться с файлами, которые
не чисто текстовый или даже не обнаруживать кодировку текстовых строк внутри некоторого двоичного файла; из
Конечно, это зависит от характера нетекстовой составляющей.
Enca не заботится о структуре входных файлов, она рассматривает их как единое целое.
текст / данные. В случае составных файлов (например, почтовых ящиков) вы должны использовать какой-либо инструмент, знающий
структура для извлечения отдельных частей в первую очередь. Это цена способности обнаруживать
кодировки любых поврежденных, неполных или иным образом некорректных файлов.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Есть несколько категорий опций: опции режима работы, переключатели типа выхода,
параметры угадывания, параметры преобразования, общие параметры и списки.
Все длинные параметры могут быть сокращены, если они являются однозначными обязательными параметрами.
длинных опций обязательны и для коротких опций.
Эксплуатация Режимы
следующие:
-c, --автоконвертировать
Эквивалентно названию Enca окружать.
Если не указан селектор типа вывода, определите кодировку файлов, угадайте свой
предпочтительная кодировка из локалей и преобразование файлов в нее (доступно только с
+ функция target-charset-auto).
-g, --Угадай
Эквивалентно названию Enca энка.
Если не указан селектор типа вывода, определите кодировки файлов и сообщите о них.
Результат напишите селекторы
выберите действие, которое Enca предпримет при определении кодировки; большинство из них просто
выбирать между разными именами, форматами и соглашениями, как можно печатать кодировки, но
один из них (-x) является особенным: он сообщает Enca перекодировать файлы в другую кодировку. ENC.
Эти варианты являются взаимоисключающими; если вы укажете более одного селектора типа вывода
последний имеет приоритет.
Некоторые типы вывода представляют имя кодировки, используемое какой-либо другой программой, но не все эти
программы знают все кодировки, которые распознает Enca. Будьте осторожны, Энка не имеет значения
между нераспознанной кодировкой и кодировкой, не имеющей имени в данном пространстве имен в таком
ситуации.
-d, --Детали
Раньше он печатал несколько страниц с подробностями о процессе угадывания, но с тех пор, как Enca
это просто программа, связанная с библиотекой Enca, это невозможно, и этот вариант
примерно эквивалентно --человек читаемый, за исключением того, что он сообщает о причине сбоя, когда
Enca не распознает кодировку.
-e, --энка-имя
Печатает красивое название кодировки Enca, т. Е., Пожалуй, наиболее общепринятое.
и более или менее удобочитаемый идентификатор кодировки с добавленными поверхностями.
Это имя также используется при вызове внешнего преобразователя.
-f, --человек читаемый
Печатает словесное описание обнаруженной кодировки и поверхностей - что-то человеческое
понимает лучше всего. Это поведение по умолчанию.
Точный формат следующий: первая строка содержит только название кодировки, и
за ним следует ноль или более строк с отступом, содержащих имена обнаруженных поверхностей.
Однако этот формат не подходит и не предназначен для дальнейшей машинной обработки.
и вербальные описания кодировки могут измениться в будущем.
-i, --icv-имя
Печатает как Iconv(3) (и / или Iconv(1)) вызывает обнаруженную кодировку. Точнее,
он печатает один, более или менее произвольно выбранный псевдоним, принятый iconv. Кодировка
unknown для iconv считается неизвестным.
Этот тип вывода имеет смысл только тогда, когда Enca скомпилирована с поддержкой iconv (функция
+ iconv-интерфейс).
-r, --rfc1345-имя
Печатает имя кодировки RFC 1345. Когда такого имени не существует, потому что RFC 1345
не определяет данную кодировку, какое-либо другое имя, определенное в каком-либо другом RFC, или просто
печатается имя, которое автор считает "наиболее каноничным".
Поскольку RFC 1345 не определяет поверхности, информация о поверхности не добавляется.
-m, - имя-мима
Печатает предпочтительное MIME-имя обнаруженной кодировки. Это имя тебе следует
обычно используется при исправлении сообщений электронной почты или веб-страниц.
Кодировка отсутствует в http://www.iana.org/assignments/character-sets считается как
неизвестно.
-s, --cstocs-имя
Печатает как cstocs(1) вызывает обнаруженную кодировку. Кодировка неизвестна cstocs
считается неизвестным.
-n, --name =СЛОВО
Печатает имя набора символов (кодировки), выбранное СЛОВО (может быть сокращено до тех пор, пока
однозначно). Для имен, перечисленных выше, --name =СЛОВО эквивалентна --СЛОВО.
. псевдонимы поскольку тип вывода заставляет Enca печатать список всех принятых псевдонимов
обнаруженной кодировки.
-x, --convert-to =[..]ENC
Преобразует файл в кодировку ENC.
Необязательный `.. 'перед именем кодировки не имеет особого значения, за исключением того, что вы можете использовать
чтобы напомнить себе, что в отличие от перекодировать(1) следует указать желанный
кодировка вместо текущей.
Вы можете использовать перекодировать(1) цепочки перекодирования или любой другой вид безумного перекодирования
спецификация для ENC, при условии, что вы скажете Enca использовать некоторые инструменты понимания
это для преобразования (см. раздел Конверсия).
Когда Enca не может определить кодировку, он выводит предупреждение и оставляет
файл как есть; когда он запускается как фильтр, он пытается изо всех сил копировать стандартные
ввод в стандартный вывод без изменений. Тем не менее, не стоит на это полагаться и делать
резервное копирование.
Гадать параметры
Здесь только один: -L установка языка входных файлов. Эта опция обязательна (но см.
ниже).
-L, --language =ДЛИННЫЙ
Устанавливает язык входных файлов на ДЛИННЫЙ.
Точнее, ДЛИННЫЙ может быть любым допустимым именем локали (или псевдонимом с + locale-alias
особенность) некоторого поддерживаемого языка. Вы также можете указать `none 'в качестве названия языка,
тогда распознаются только многобайтовые кодировки. Запустить
enca - список языков
чтобы получить список поддерживаемых языков. Когда вы не указываете язык, Enca пытается
чтобы угадать ваш язык из настроек локали и предполагает, что входные файлы используют это
язык. См. Раздел ЯЗЫКИ для получения информации.
Конверсия параметры
дать вам более точный контроль над тем, как будет выполняться преобразование кодировки. Они не влияют
что-нибудь, когда -x не указан как тип вывода. См. Раздел Конверсия для
кровавые детали конверсии.
-C, --try-converters =СПИСОК
Добавляет через запятую СПИСОК к списку конвертеров, которые будут проверены, когда вы
попросить конвертацию. Их имена можно сокращать до тех пор, пока они
однозначный. Запустить
enca --list преобразователи
чтобы получить список всех допустимых имен конвертеров (и см. раздел Конверсия для их
описание).
Список по умолчанию зависит от того, как был скомпилирован Enca, запустите
энка --помощь
чтобы узнать список конвертеров по умолчанию.
Обратите внимание, что список по умолчанию используется только в том случае, если вы не укажете -C вообще. Иначе,
список строится так, как если бы он был изначально пуст, и каждый -C добавляет новый конвертер (ы)
к нему. Кроме того, указав нет поскольку имя конвертера вызывает очистку конвертера
.
-E, --external-converter-program =PATH
Устанавливает имя программы внешнего конвертера на PATH. Внешний преобразователь по умолчанию зависит от
о том, как соблюдается энка, и возможность использования внешних преобразователей может
быть недоступным вообще. Запустить
энка --помощь
чтобы узнать программу конвертера по умолчанию в вашей сборке enca.
Общие кредита
не подходят к другим категориям опций ...
-p, --с именем файла
Заставляет Enca добавлять к каждому результату префикс соответствующего имени файла. По умолчанию Enca
префиксы результатов с именами файлов при запуске с несколькими файлами.
Стандартный ввод печатается как СТАНДИН и стандартный вывод как стандартный вывод (последний может быть
видимо только в сообщениях об ошибках).
-P, --без имени файла
Заставляет Enca не добавлять в результаты префиксов имена файлов. По умолчанию Enca не префикс
результат с именем файла при запуске с одним файлом (включая стандартный ввод).
-V, --подробный
Повышает уровень многословности (каждое использование увеличивает его на единицу).
В настоящее время эта опция не очень полезна, потому что разные части Enca отвечают
в отличие от того же уровня детализации, в большинстве случаев совсем не так.
Объявления
все являются терминальными, т.е. когда Enca обнаруживает некоторые из них, она распечатывает требуемый список
и завершается без обработки следующих параметров.
-h, --Помогите
Печатает краткую справку по использованию.
-G, --лицензия
Печатает полную лицензию Enca (если возможно, через пейджер).
-l, --list =СЛОВО
Список печати, указанный СЛОВО (можно сокращать, если оно однозначно).
Доступные списки включают:
встроенные кодировки. Все кодировки конвертируются встроенным конвертером, по группам (обе
входные и выходные кодировки должны быть из этого списка и принадлежать одной группе для
внутреннее преобразование).
встроенные кодировки. Эквивалентно встроенные кодировки, но считается устаревшим; буду
быть принятым с предупреждением на время.
Преобразователи. Все допустимые имена конвертеров (для использования с -C).
кодировки. Все кодировки (кодировки). Вы можете выбрать, какие имена будут напечатаны
--имя или любой селектор типа вывода имени (конечно, только кодировки, имеющие
тогда будет напечатано имя в данном пространстве имен), необходимо указать селектор
до --список.
кодировок. Эквивалентно кодировки, но считается устаревшим; будет принято с
предупреждение, на время.
языки. Все поддерживаемые языки вместе с принадлежащими им кодировками. Примечание
Тип вывода выбирает стиль имени языка, а не стиль имени кодировки.
имена. Все возможные значения --имя опцию.
списки. Все возможные значения этой опции. (Сумасшедший?)
поверхности. Все поверхности, которые распознает Enca.
-v, --версия
Распечатывает версию программы и список функций (см. Раздел ФУНКЦИИ И ОСОБЕННОСТИ).
Конверсия
Хотя Enca изначально разрабатывался как инструмент только для угадывания кодировки, теперь он
имеет несколько методов преобразования кодировки. Вы можете контролировать, какие из них будут
используется с -C.
Enca последовательно пробует преобразователи из списка, указанного -C пока не найдет что
может выполнить необходимое преобразование или пока не исчерпает список. Вы должны указать
сначала предпочтительны преобразователи, а позже - менее предпочтительные. Внешний преобразователь (внешний) должно быть
всегда указывается в последнюю очередь, только в крайнем случае, поскольку обычно невозможно восстановить
когда это не удается. Список конвертеров по умолчанию всегда начинается с встроенный , а затем
продолжается с первым доступным из: либрекод, Iconv, ничего такого.
Следует отметить, что когда Enca заявляет, что не может выполнить преобразование, это означает только
ни один из преобразователей не может этого сделать. Еще можно выполнить
требуется преобразование в несколько этапов, с использованием нескольких конвертеров, но чтобы выяснить, как,
наверное нужен человеческий интеллект.
Встроенный Преобразователь
самый простой и самый быстрый из всех, может выполнять только несколько байтов
конвертирует и изменяет файлы прямо на месте (может считаться опасным, но
довольно эффективно). Вы можете получить список всех кодировок, с которыми он может конвертировать
enca --list встроенный
Помимо скорости, его главным преимуществом (а также недостатком) является то, что ему все равно: он
просто преобразует символы, имеющие представление в целевой кодировке, не трогает
что-нибудь еще и никогда не выводит никаких сообщений об ошибках.
Этот преобразователь можно указать как встроенный -C.
Либрекод Преобразователь
- это интерфейс к библиотеке перекодирования GNU, которая выполняет фактическую работу по перекодированию. Это может или может
не компилироваться; запустить
энка --версия
чтобы узнать его наличие в вашей сборке enca (feature + librecode-interface).
Вы должны быть знакомы с перекодировать(1) перед его использованием, так как перекодирование - это довольно
сложный и мощный инструмент преобразования кодировки. Вы можете столкнуться с проблемами при его использовании
вместе с Enca, в частности, потому что поддержка Enca поверхностей несовместима на 100%,
потому что перекодирование слишком сильно пытается сделать преобразование обратимым, потому что иногда
молча игнорирует ошибки ввода-вывода, и потому что это невероятно ошибочно. Пожалуйста, см. Перекодирование GNU
информационные страницы для получения подробной информации о библиотеке перекодирования.
Этот преобразователь можно указать как либрекод -C.
Iconv Преобразователь
это интерфейс к UNIX98 Iconv(3) функции преобразования, которые выполняют фактическое перекодирование
работа. Он может или не может быть скомпилирован; запустить
энка --версия
чтобы узнать его доступность в вашей сборке enca (feature + iconv-interface).
Хотя iconv присутствует в большинстве современных систем, он редко предлагает полезный набор
доступные преобразования, единственное заметное исключение - iconv из GNU libc. это
обычно довольно требователен к поверхностям (в то же время не реализуя
конверсия). Однако он, вероятно, представляет собой единственный стандартный (увеличенный) инструмент, способный выполнять
преобразование из / в Unicode. Пожалуйста, смотрите документацию iconv для получения подробной информации о его
возможности вашей конкретной системы.
Этот преобразователь можно указать как Iconv -C.
Внешний Преобразователь
это произвольный внешний инструмент преобразования, который можно указать с помощью -E вариант (не более одного
могут быть определены одновременно). Вместе с enca поставляются некоторые стандартные:
cstocs, перекодировать, карта, Umap и пикв. Все это сценарии-оболочки: для cstocs(1) перекодировать(1)
карта(1) Umap(1), и пикв(1).
Обратите внимание, что у enca мало контроля над тем, что на самом деле делает внешний преобразователь. Если вы установите
его / bin / rm вы несете полную ответственность за последствия.
Если вы хотите создать свой собственный конвертер для использования с enca, вы должны знать, что он всегда
которые называются
ПРЕОБРАЗОВАТЕЛЬ ENC_CURRENT ENC ФАЙЛОВ [-]
в котором ПРЕОБРАЗОВАТЕЛЬ это то, что было установлено -E, ENC_CURRENT обнаружена кодировка, ENC то, что
был указан с -x и ФАЙЛОВ файл для преобразования, т.е. он вызывается для каждого
файл отдельно. Необязательный четвертый параметр, -, должен вызывать (если присутствует) отправку
результат преобразования в стандартный вывод вместо перезаписи файла ФАЙЛОВ,
конвертер также должен позаботиться о том, чтобы не изменять права доступа к файлам, возвращая код ошибки 1
при сбое и очистке временных файлов. См. Стандартный внешний
преобразователи для примеров.
Этот преобразователь можно указать как внешний -C.
По умолчанию цель кодировок
Самый простой способ указать целевую кодировку - это -x вариант, который отменяет любые
по умолчанию. Когда Энка называется окружать, целевая кодировка по умолчанию выбирается точно
так же, как перекодировать(1) делает это.
Если же линия индикатора DEFAULT_CHARSET переменная окружения установлена, она используется как целевая кодировка.
В противном случае, если ваша система предоставляет nl_langinfo(3) функция, родная для текущей локали
charset используется в качестве целевой кодировки.
Когда оба метода терпят неудачу, Enca жалуется и прекращает работу.
обратимость ноты
Если для вас важна обратимость, вам вообще не следует использовать enca в качестве конвертера (или, может быть,
вы можете с очень специально разработанным перекодировать(1) обертка). В противном случае вы должны
Меньше всего известно, что существует четыре основных средства обработки неконвертируемых символьных сущностей:
сбой - это тоже возможность, и, кстати, это именно то, что текущая GNU libc
реализация iconv делает (можно также сказать, что это нужно сделать для recode)
не трогайте их - это то, что всегда делает внутренний конвертер enca и умеет перекодировать;
хотя это необратимо, человек обычно может восстановить оригинал (на
минимум в принципе)
приблизить их - это то, что умеет cstocs, и перекодировать тоже, хотя и по-другому; и
лучший выбор, если вы просто хотите сделать проклятый текст читабельным
выкинуть их - это то, что могут делать как recode, так и cstocs (cstocs также может заменять эти
символы каким-то фиксированным символом вместо простого игнорирования); полезно, когда
Исключаемые символы содержат только шум.
Пожалуйста, обратитесь к руководству по вашему любимому конвертеру для получения подробной информации об этой проблеме. Обычно, если
вам не повезло иметь все конвертируемые символы в вашем файле, руководство
вмешательство все равно необходимо.
Эффективности ноты
Низкая производительность доступных конвертеров была одной из основных причин включения
встроенный конвертер в энка. Старайтесь использовать его, когда это возможно, т.е. когда файлы в
достаточно чистая кодировка или достаточно беспорядочная, так что его нулевой встроенный
интеллект не имеет значения. Он не требует ни дополнительного дискового пространства, ни дополнительной памяти и может
опережать перекодировать(1) более 10 раз для больших файлов и версии Perl (т. Е. Более быстрая
один из cstocs(1) более 400 раз для небольших файлов (на самом деле это почти так же быстро, как
cp(1 г.)).
Старайтесь избегать внешних преобразователей, когда это не является абсолютно необходимым, поскольку все разветвления
и перемещение вещей происходит невероятно медленно.
КОДИРОВКА
Вы можете получить список распознанных наборов символов с помощью
enca --list кодировки
и использование --имя Параметр вы можете выбрать любое имя, которое хотите использовать в листинге.
Вы также можете перечислить все поверхности с помощью
enca - список поверхностей
Кодировка и имена поверхностей нечувствительны к регистру, а не буквенно-цифровые символы не учитываются.
учтено. Однако использование не буквенно-цифровых символов вообще не допускается.
Разрешены только: `- ',` _', `. ',`:' И `/ '(как разделитель кодировки / поверхности). Так
ibm852 и IBM-852 - это одно и то же, а IBM 852 не принимается.
Наборы символов
В следующем списке распознаваемых кодировок используются имена Enca (-e) и словесные описания как
сообщает Enca (-f):
ASCII 7-битные символы ASCII
ISO-8859-2 стандарт ISO 8859-2; ISO Latin 2
ISO-8859-4 стандарт ISO 8859-4; Латинский 4
ISO-8859-5 стандарт ISO 8859-5; ISO кириллица
ISO-8859-13 Стандарт ISO 8859-13; ISO Baltic; Латинский 7
ISO-8859-16 Стандарт ISO 8859-16
CP1125 Кодовая страница MS-Windows 1125
CP1250 Кодовая страница MS-Windows 1250
CP1251 Кодовая страница MS-Windows 1251
CP1257 Кодовая страница MS-Windows 1257; WinBaltRim
IBM852 Кодовая страница IBM / MS 852; ПК (DOS) Latin 2
IBM855 Кодовая страница IBM / MS 855
IBM775 Кодовая страница IBM / MS 775
IBM866 Кодовая страница IBM / MS 866
балтийский ISO-IR-179; Балтийский
KEYBCS2 кодировка Каменицкого; KEYBCS2
macce Macintosh Центральноевропейская
maccyr Macintosh кириллица
ECMA-113 Экма Кириллица; ECMA-113
KOI-8_CS_2 Код KOI8-CS2 (`T602 ')
KOI8-R KOI8-R Кириллица
КОИ8-У КОИ8-У Кириллица
KOI8-UNI KOI8-Единая кириллица
TeX (La) Управляющие последовательности TeX
UCS-2 Универсальный набор символов 2 байта; UCS-2; BMP
UCS-4 Универсальный набор символов 4 байта; UCS-4; ISO-10646
UTF-7 Универсальный формат преобразования 7 бит; UTF-7
UTF-8 Универсальный формат преобразования 8 бит; UTF-8
CORK Кодировка пробки; Т1
Упрощенный китайский национальный стандарт GBK; GB2312
BIG5 Традиционный китайский промышленный стандарт; Big5
HZ HZ в кодировке GB2312
неизвестно Нераспознанная кодировка
в котором неизвестный не является реальной кодировкой, об этом сообщается, когда Enca не может дать
надежный ответ.
Поверхности
У Enca есть экспериментальная поддержка так называемых поверхностей (см. Ниже). Он обнаруживает
следующие поверхности (не все могут быть применены ко всем кодировкам):
/ CR CR терминаторы линии
/ LF Терминаторы линии LF
/ CRLF Терминаторы линии CRLF
NA Смешанные терминаторы линии
NA Окружено / смешано с нетекстовыми данными
/ 21 Порядок байтов изменен попарно (1,2 -> 2,1)
/ 4321 Обратный порядок байтов в 1,2,3,4 раза (4,3,2,1 -> XNUMX)
Н / Д Фрагменты с прямым и обратным порядком байтов, объединенные
/ qp Цитированная печать с кодировкой
Обратите внимание, что некоторые поверхности имеют NA вместо идентификатора - они не могут быть указаны в команде
line, о них может сообщить только Enca. Это сделано намеренно, потому что они только информируют вас
почему файл нельзя считать согласованным с поверхностью вместо того, чтобы представлять реальный
поверхность.
Каждая кодировка имеет свою естественную поверхность (называемую "подразумеваемой" в перекодировке), о которой не сообщается,
например, для кодировки IBM 852 это `терминаторы строки CRLF '. Для кодировок UCS обратный порядок байтов
считается естественной поверхностью; необычный порядок байтов состоит из 21 и 4321
перестановки: 2143 сообщается просто как 21, в то время как 3412 сообщается как комбинация 4321
и 21.
UTF-8 с двойным кодированием не является ни кодировкой, ни поверхностью, это просто сообщается.
О нас кодировки, кодировок и поверхности
Кодировка - это набор символьных сущностей, а кодировка - это ее представление в терминах.
байтов и битов. В Энке слово кодирование означает то же, что и "представление текста",
то есть связь между последовательностью символьных сущностей, составляющих текст, и
последовательность байтов (битов), составляющих файл.
Итак, кодировка - это как набор символов, так и так называемая поверхность (терминаторы строк, порядок байтов,
комбинирование, преобразование Base64 и т. д.). Тем не менее, работать с ним удобно.
некоторые пары {charset, surface} как с настоящими наборами символов. Итак, как в перекодировать(1), все UCS- и
UTF-кодировки универсального набора символов называются наборами символов. Пожалуйста, смотрите перекодирование
документацию для получения более подробной информации об этой проблеме.
Единственное, что хорошо в покрытиях, это то, что когда вы не начинаете с ними играть, ни
Enca не запускается и будет стараться вести себя максимально незаметно для поверхности.
программу даже при разговоре перекодировать.
ЯЗЫКИ
Enca необходимо знать язык входных файлов для надежной работы, по крайней мере, в случае
обычное 8-битное кодирование. Многобайтовые кодировки должны распознаваться для любой латиницы, кириллицы.
или греческий язык.
Вы можете (или должны) использовать -L возможность указать Enca язык. Поскольку люди чаще всего
работать с файлами на том же языке, для которого они настроили локали, Enca пытается
пытается угадать язык, исследуя значение LC_CTYPE и другие категории локалей
(посмотри пожалуйста местный(7)) и использовать его для языка, если вы его не указываете. Из
конечно, это может быть совершенно неверно и даст вам бессмысленные ответы и повредит вашему
файлы, поэтому, пожалуйста, не забудьте использовать -L вариант. Вы также можете использовать ЭНКАОПТ охрана окружающей среды
переменная для установки языка по умолчанию (см. раздел ОКРУЖАЮЩАЯ СРЕДА).
Enca поддерживает следующие языки (каждый язык указан вместе с поддерживаемыми
8-битные кодировки).
Белорусский CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855
Болгарский CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
Чешский ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
Эстонский ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
Хорватский CP1250 ISO-8859-2 IBM852 macce CORK
Венгерский ISO-8859-2 CP1250 IBM852 macce CORK
Литовский CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
Латвийский CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
Польский ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
Русский КОИ8-Р CP1251 ISO-8859-5 IBM866 maccyr
Словацкий CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
Словенский ISO-8859-2 CP1250 IBM852 macce CORK
Украинский CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
Китайский GBK BIG5 HZ
нет
Особый язык нет можно сократить до __, он не содержит 8-битных кодировок, поэтому только
обнаруживаются многобайтовые кодировки.
Вы также можете использовать имена локалей вместо языков:
Белорусский быть
Болгарский bg
Чешский cs
Эстонский и др.
Хорватский hr
Венгерский ху
Литовский lt
Латышский lv
Польский pl
Русский ru
Словацкий sk
Словенский сл
Украинский великобритания
Китайский ж
ФУНКЦИИ И ОСОБЕННОСТИ
Некоторые функции Enca зависят от того, что доступно в вашей системе и как это было
составлен. Вы можете получить их список с помощью
энка --версия
Знак плюс перед названием функции означает, что она доступна, знак минус означает, что в этой сборке нет
особенность.
librecode-интерфейс. Enca имеет интерфейс для преобразования кодировки библиотеки перекодирования GNU
функции.
iconv-интерфейс. Enca имеет интерфейс с функциями преобразования кодировки iconv UNIX98.
внешний преобразователь. Enca может использовать внешние программы конвертации (если у вас есть подходящие
установлен).
определение языка. Энка пытается угадать язык (-L) из регионов. Вам не нужен
- язык вариант, по крайней мере в принципе.
локаль-псевдоним. Enca может расшифровывать псевдонимы локали, используемые для названий языков.
цель-кодировка-авто. Enca пытается определить предпочитаемую вами кодировку по языку. Вариант
--автоконвертировать и назвав Энку окружать работает, по крайней мере в принципе.
ЭНКАОПТ. Enca может правильно проанализировать эту переменную среды перед командной строкой.
параметры. Простые вещи вроде ENCAOPT = "- L Соединенное Королевство" будет работать даже без этой функции.
ОКРУЖАЮЩАЯ СРЕДА
Переменная ЭНКАОПТ может содержать набор параметров Enca по умолчанию. Его содержание интерпретируется
перед аргументами командной строки. К сожалению, это работает не везде (необходимо наличие
+ Функция ENCAOPT).
LC_CTYPE, LC_COLLATE, LC_MESSAGES (возможно, унаследованный от LC_ALL or ДЛИННЫЙ) используется для
угадывание вашего языка (должна иметь + функцию определения языка).
Переменная DEFAULT_CHARSET может использоваться окружать в качестве целевой кодировки по умолчанию.
ДИАГНОСТИКИ
Enca возвращает код выхода 0, когда все входные файлы были успешно обработаны (т. Е. Все
кодировки были обнаружены и все файлы были преобразованы в требуемую кодировку, если преобразование
просили). Код выхода 1 возвращается, когда Enca не может угадать кодировку или
выполнить преобразование любого входного файла, потому что он недостаточно умен. Код выхода 2:
возвращается в случае серьезных проблем (например, ввода-вывода).
БЕЗОПАСНОСТЬ
Должна быть возможность позволить Enca работать без присмотра, это ее цель. Тем не мение:
Нет никакой гарантии, что обнаружение работает на 100%. Не ставьте на это, вы легко можете проиграть
ценные данные.
Не используйте enca (программу), вместо этого сделайте ссылку на libenca, если вы хотите что-то похожее
безопасность. Тогда вы должны сами выполнить окончательное преобразование.
Не используйте внешние преобразователи. В идеале отключите их во время компиляции.
Быть в курсе ЭНКАОПТ и вся встроенная автомагия, угадывающая разные вещи из
среда, а именно локации.
Используйте enconv онлайн с помощью сервисов onworks.net