The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Перевод из одной кодировки в другую"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Перевод из одной кодировки в другую"  +/
Сообщение от buganchik email on 04-Дек-13, 18:17 
Ребят, подскажите, пожалуйста, принцип перекодировки iconv.
Мне нужно ручками(скриптом), без использования iconv, перекодировать русский текст из 1251 в КОИ-8R и UTF-8 и наоборот. Признаюсь, делаю лабу в универе, но в будущем очень пригодится знать, как говорится подноготную.
Заранее спасибо за помощь.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Перевод из одной кодировки в другую"  +/
Сообщение от skb7 (ok) on 04-Дек-13, 20:59 
> Ребят, подскажите, пожалуйста, принцип перекодировки iconv.
> Мне нужно ручками(скриптом), без использования iconv, перекодировать русский текст из
> 1251 в КОИ-8R и UTF-8 и наоборот. Признаюсь, делаю лабу в
> универе, но в будущем очень пригодится знать, как говорится подноготную.
> Заранее спасибо за помощь.
> Ребят, подскажите, пожалуйста, принцип перекодировки iconv.
> Мне нужно ручками(скриптом), без использования iconv, перекодировать русский текст из
> 1251 в КОИ-8R и UTF-8 и наоборот. Признаюсь, делаю лабу в
> универе, но в будущем очень пригодится знать, как говорится подноготную.
> Заранее спасибо за помощь.

1. Скрипт на каком языке? Какие утилиты/библиотеки/фреймворки можно использовать?

2. Подноготную iconv узнать легко.

Так узнаем что iconv находится в пакете libc-bin:


$ apt-file search /usr/bin/iconv


Так получаем исходники:


$ apt-get source libc-bin


Дальше заходим в каталог с исходниками iconv:


$ cd eglibc-2.17/iconv


и начинаем копать. Там обычный код на Си. Но не думаю что в вашем задании это особо поможет.

3. То, что вам нужно сделать, разобраться с таблицами кодировок.
http://en.wikipedia.org/wiki/Windows-1251
http://en.wikipedia.org/wiki/KOI8-R
http://en.wikipedia.org/wiki/UTF-8

А затем написать код, приводящий код символа из одной таблицы в код символа из другой.
Например, если нужно перевести символ с кодом 0x11 из кодировки 1 в кодировку 2, и в кодировке 1 'nj код символа "X", а в кодировке 2 код сивола "X" это 0x22, значит надо вместо 0x11 поставить 0x22. Это принцип. Алгоритм придумайте сами, в этом наверное и есть суть задания. Таблицы я вам выше привел.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Перевод из одной кодировки в другую"  +/
Сообщение от pavlinux (ok) on 09-Дек-13, 18:17 
чтоб чё-нить куда-нить перевести, нужно знать чё и куда, остальное - оптимизация.

http://www.opennet.me/openforum/vsluhforumID9/9656.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру