|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Frolov 2:5030/827.2 22 Mar 2004 09:11:18 To : Victor Wagner Subject : Re: book reader -------------------------------------------------------------------------------- On Sun, 21 Mar 04 12:11:07 +0300, Victor Wagner wrote: VW> Проблема тут в том, что архитектура iconv заточена под "преобразовать VW> строку из в". А с этой задачей он не справляется, потому что не может VW> справляться. VW> В catdoc принцип другой. Преобразуем СИМВОЛ в юникод, смотрим, не VW> является ли он специальным для выходного формата, если нет, пытаемся VW> преобразовать в выходную кодировку, если не получилось, ищем заменяющую VW> последовательность. VW> В результате на каждый СИМВОЛ придется звать функцию iconv, VW> предназначенную для обработки СТРОК и имеющую соответствующий оверхед, VW> ДВАЖДЫ. Чего? Вначале В ЮHИКОДЕ заменяешь неугодные символы на правильные, потом iconv() его в выходную кодировку. Таблички нужны... но не перекодировки, а только определяющие допустимые символы. И их можно автоматически построить из iconv() при старте программы. VW> А что касается табличек, то пофигу, хранятся они в so-шке или в VW> текстовом файле, поскольку считывание производится один раз за запуск VW> программы. В info написано, что в iconv не таблицы, а вроде как функция на каждый символ. Hо я не вникал особо. А почему-бы этих функций не расширить до того, чтобы оно умело заменять символы отсутствующие в выходной кодировке? --- [ZX] * Origin: 0D00 1E54 41D1 9753 3F41 40F7 4BBA 050B 30E8 0E4E (2:5030/827.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3833fd0eff7a.html, оценка из 5, голосов 10
|