Jump to content
Sign in to follow this  
Guest

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

Recommended Posts

Guest

Задача:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Guest

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

Share this post


Link to post
Share on other sites

Цитата:

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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...
Sign in to follow this  

×
×
  • Create New...