Перекодирование между таблицами символов

iconv

Дёшево и сердито. Позволяет взять файл или поток символов и перевести его в другую кодировку.

  • Список кодировок можно получить указав ключик -l (--list). Он большой и на один экран консоли как правило не влазит.
  • -f (--from-code) - исходная кодировка файла или потока.
  • -t (--to-code) - кодировка назначения. Если параметр опущен, то будет использована текущая локаль.
  • -c - исключить из вывода ошибочные символы. Если в исходном файле iconv нашел непонятные ему символы, то он откажется конвертить. Данный ключ помогает убедить его в необходимости работать.
  • -o (--output) - указывает в какой файл сохранить результат. Если параметр опущен, то результат пойдёт на стандартный поток вывода.

recode

Более фичастая команда перекодирования. Список доступных кодировок можно получить аналогично iconv: recode -l.

Позволяет лёгким движением руки перекодировать группу файлов:

recode cp1251 *

перекодирует все файлы в каталоге из виндовой кодировки в кодировку текущей локали.

echo "Привет мир\!" | recode ..HTML

заэскейпит строку на манер HTML: Привет мир!

echo "Привет мир\!" | recode ..JAVA

заэскейпит строку в форму пригодную для испрользования в языке Java/JavaScript(?): \u041f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0440!

Ключ -f (force) поможет в трудной ситуации, если recode отказывается перекодировать файл ссылаясь на то, что перекодирование произойдёт с потерями.

convmv

convmv позволяет переименовывать файлы из одной кодировки в другую.

Дискуссия

jetxee, 2007/11/21 17:37

Есть ещё konwert, например konwert cp1251-utf8.

И весьма удобная функция автоматического распознавания кодировки konwert any/ru-utf8.

Список таблиц перекодировки в /usr/share/konwert/filters

vlad, 2007/12/26 15:17

мне больше нравится enconv - полный автомат

Enter your comment (wiki syntax is allowed):
Краткая справка
  • **полужирный**
  • //курсив//
  • > цитата
  • [[http://link | Заголовок ссылки]]
Больше о синтаксисе...
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
linux/charset-encoding.txt · Последние изменения: 2009/06/12 16:06 От plumbum