Перейти к содержанию

Помогите со скриптом... плиз...


Гость

Рекомендуемые сообщения

Задача:

Сценарий перекодирует текстовый файл, имя которого указано в командной строке, из одной кодировки в другую. Сценарий спрашивает имена кодировок у пользователя. Должны поддерживаться как минимум cp1251, koi8r и cp866. Результат выдаётся в файл, указанный вторым параметром в командной строке. Программы iconv, recode, lynx и т.п. не использовать!

Пример:

$ ./myscript.sh data.txt result.txt

Please, specify sourse charset:

1) cp1251

2) koi8r

3) cp866

#? 2

Please, specify destination charset:

1) cp1251

2) koi8r

3) cp866

#? 1

Ребята... помогите пожалуста, нужно сдавать, а у меня уже фантазия закончилась... придумать ничего не могу!

Ссылка на комментарий
Поделиться на другие сайты

Скрипт писать не буду - это не пять минут, время жалко. Но посоветую.

Перечисленные кодировки похожи тем, что английские буквы в них можно оставлять без изменений. Касательно cp1251 и cp866, можно просто смещать код символа (на сколько - не помню, см. таблицы этих кодировок). С koi8-r сложнее, там символы как-то странно расположены. Можно завести некий массив, в котором хранить соответствующие уже конвертированные символы в koi8-r по соответствующим смещением. Но если так делать, можно вообще не задумываться, и создать по массиву на каждую кодировку =)

Ссылка на комментарий
Поделиться на другие сайты

Жаль, что тебе жалко времени... нужно бы по-конкретней, хотя бы для первых 3-5 символов как делать? хех... похоже скрипта мне тут не напишут. 8(

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

похоже скрипта мне тут не напишут. 8(

Ну ясно дело, это ж не хелловолд =) Поделюсь тем, что видел.

Вот хелп по koi8-r:

http://koi8.pp.ru/main.html

Здесь можно посмотреть хороший сорс на JavaScript (как я и говорил, по массиву на кодировку):

http://iclub.nsu.ru/~cher/code/english/

И еще, смотри исходники и описания iconv, там все понятно:

http://www.gnu.org/software/libiconv/

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...