Jump to content

Recommended Posts

Posted

Задача:

Сценарий перекодирует текстовый файл, имя которого указано в командной строке, из одной кодировки в другую. Сценарий спрашивает имена кодировок у пользователя. Должны поддерживаться как минимум 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

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

Posted

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

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

Posted

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

Posted

Цитата:

похоже скрипта мне тут не напишут. 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 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...