Пакетное перекодирование текстовых файлов

Здесь обсуждаются темы, косвенно связанные с Far.
SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Пакетное перекодирование текстовых файлов

Post by SeMa »

Подскажите, почему при конвертировании FarSave1.reg (FAR2)
iconv -f UCS-2LE -t CP1251 FarSave1.reg
или
iconv -f UTF-16LE -t CP1251 FarSave1.reg
выдается
iconv: FarSave1.reg: cannot convert
Неужели не та кодировка задана?
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок

User avatar
HaRT
Moderator
Posts: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by HaRT »

SeMa wrote:Подскажите, почему при конвертировании FarSave1.reg (FAR2)
[...]
Неужели не та кодировка задана?
А там часом нет символов, которые отсутствуют в CP1251? В историях диалогов, например…
Фар есть инструмент, а не нянька. © 2009 DrKnS

SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

HaRT wrote:А там часом нет символов, которые отсутствуют в CP1251? В историях диалогов, например…
Сгенерил малый кусочек:
выполнил:
iconv -f UTF-16LE -t cp1251 align.reg
получил:
iconv: align.reg: cannot convert
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок

User avatar
HaRT
Moderator
Posts: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by HaRT »

Почему, не знаю.
Но с параметром -c всё же конвертирует. Правда, если я правильно понимаю, в этом случае те символы, которые „неправильные”, будут пропущены.

PS
Кстати, Вы уверены, что там надо именно UTF-16LE, a не UCS-2LE?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
SlashNet
Posts: 599
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 6 times
Been thanked: 4 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

Скорее всего iconv ругается на BOM. (Я его удалил - все заработало)

Тот же recode преобразовал без вопросов.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

Hart wrote:Кстати, Вы уверены, что там надо именно UTF-16LE, a не UCS-2LE?
в своем начальном посте показал примеры, там есть и UCS-2LE.
SlashNet wrote:Скорее всего iconv ругается на BOM. (Я его удалил - все заработало)
как удалить?
SlashNet wrote:Тот же recode преобразовал без вопросов.
не смог снаскоку разобраться в синтаксисе :no:
recode windows-1251 FarSave1.reg вообще ничего не делает - происходит запуск без ответа с немедленным возвратом в место запуска (появляется промпт).
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

SeMa wrote:не смог снаскоку разобраться в синтаксисе :no:
Поиск по форуму привёл бы вас сюда.

User avatar
SlashNet
Posts: 599
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 6 times
Been thanked: 4 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

SeMa wrote:как удалить?
В панелях ShiftF4 -> Выбираем кодировку 1251 или 866 -> Удаляем первые 2 байта -> Сохраняем.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

Месье знает толк в извращениях ;)
В редакторе ShiftF2.

User avatar
SlashNet
Posts: 599
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 6 times
Been thanked: 4 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

Ну это по старой привычке. Полгода назад этой птички не было.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

SlashNet wrote:
SeMa wrote:как удалить?
В панелях ShiftF4 -> Выбираем кодировку 1251 или 866 -> Удаляем первые 2 байта -> Сохраняем.
А если таких файлов ~100 ?
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 2 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by Игорь Юдинцев »

SeMa wrote:А если таких файлов ~100 ?
Пишем макрос, который давит клавиши, как описано выше, для каждого выделенного файла.

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

Ну а если по-умному? (учитывая название темы)

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Пакетное перекодирование текстовых файлов

Post by Centaur »

А по-умному CtrlG

Code: Select all

tail -c +2 "!.!" |iconv -f utf-16le -t какую-надо >куда-надо
tail, разумеется, где-то брать и ставить.

User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Re: Пакетное перекодирование текстовых файлов

Post by t-rex »

iconv -c

Post Reply

Return to “Операционные системы, командные оболочки и прочее”