Гость Опубликовано 25 декабря, 2004 Жалоба Опубликовано 25 декабря, 2004 Задача: Сценарий перекодирует текстовый файл, имя которого указано в командной строке, из одной кодировки в другую. Сценарий спрашивает имена кодировок у пользователя. Должны поддерживаться как минимум 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 Ребята... помогите пожалуста, нужно сдавать, а у меня уже фантазия закончилась... придумать ничего не могу! Цитата
EL[michlen] Опубликовано 25 декабря, 2004 Жалоба Опубликовано 25 декабря, 2004 Скрипт писать не буду - это не пять минут, время жалко. Но посоветую. Перечисленные кодировки похожи тем, что английские буквы в них можно оставлять без изменений. Касательно cp1251 и cp866, можно просто смещать код символа (на сколько - не помню, см. таблицы этих кодировок). С koi8-r сложнее, там символы как-то странно расположены. Можно завести некий массив, в котором хранить соответствующие уже конвертированные символы в koi8-r по соответствующим смещением. Но если так делать, можно вообще не задумываться, и создать по массиву на каждую кодировку =) Цитата
Гость Опубликовано 25 декабря, 2004 Жалоба Опубликовано 25 декабря, 2004 Жаль, что тебе жалко времени... нужно бы по-конкретней, хотя бы для первых 3-5 символов как делать? хех... похоже скрипта мне тут не напишут. 8( Цитата
EL[michlen] Опубликовано 25 декабря, 2004 Жалоба Опубликовано 25 декабря, 2004 Цитата: похоже скрипта мне тут не напишут. 8( Ну ясно дело, это ж не хелловолд =) Поделюсь тем, что видел. Вот хелп по koi8-r: http://koi8.pp.ru/main.html Здесь можно посмотреть хороший сорс на JavaScript (как я и говорил, по массиву на кодировку): http://iclub.nsu.ru/~cher/code/english/ И еще, смотри исходники и описания iconv, там все понятно: http://www.gnu.org/software/libiconv/ Цитата
Гость Опубликовано 26 декабря, 2004 Жалоба Опубликовано 26 декабря, 2004 Спасиба большое - уже кое-что! Цитата
Гость Опубликовано 25 августа, 2005 Жалоба Опубликовано 25 августа, 2005 Помоему это можно сделать командой tr Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.