Re: NetSniffer
On Fri, 31 May 2002, Ilya Anfimov wrote:
Сорри за тормоза с ответом..
> On Fri, May 31, 2002 at 04:55:27PM +0500, Vlad Harchev wrote:
> > On Fri, 31 May 2002, Ilya Anfimov wrote:
> > Ну во-первых это не винда - API расширять произвольно не принято.
>
> А молча впихивать новые свойства в стандартные видимо уже вошло в привычку.
А разве в стандарте написано, имена каких registry должны пониматься
iconv'ом?
>
> >
> > А что должен выдавать этот API (что на входе, что на выходе) - какие
> > соображения?
>
>
> Как один из вариантов:
> На входе -- исходное registry (строка, из списка вроде IANA,
> system/locale, system/iconv, Adobe, X, только чуть более
> официальные названия. попавшие в этот список регистрируются у
> разработчиков библиотеки), и точное название charset из этого
> registry, выходное registry. Всего, вероятно, можно придумать
> несколько десятков таких имён.
>
>
> На выходе -- название charset в выходном registry, процент
> соответствия, комментарии.
>
> Как ещё один из вариантов -- библиотека перекодировки, на выходе
> кроме названия, опционально -- указатели на структуры
> перекодировки. Тогда логично будет добавить ещё API, с получением
> структуры работы с символами исходного charset как таковыми.
> Впрочем, второе уже не факт, что будет минимальным для создания
> полного API перекодировок и работы с разнонациональными
> символами. Возможно, что это надо выносить в отдельные
> библиотеки. Собственно, одна из таких библиотек уже есть.
>
> Кроме того, в такой API нужно будет изначально включить функции
> для его расширения подключёнными библиотеками или самой
> программой. Через callbacks, я думаю.
имхо все это слишком общо и в реальной жизни не пригодится практически
никому. Уж если расширять API - то лучше сделать портабельную библиотеку (не
то чтобы linux-specific, а даже не unix-specific) с единственной ф-ией -
iconv_ex_open(char* in,char* out)
которая полазает по своим таблицам схожести и таблицам псевдонимов и вернет
iconv_t от системного iconv. Хотя еще можно впихнуть функциональность для
перечисления всех канонических имен чарсетов (чтобы перечислять их в менюшке
Вид-Кодировка). Ну и можно еще впихнуть информацию о том, какой чарсет
используют для данного языка на данной платформе для текста и для названий
файлов (типа для ru и текста: win => cp251, linux=>koi8-r, dos=> cp866) - это
нужно в редакторах например (сохранить как текст DOS) и при импорте/экспорте
из форматов, в которых текст хранится не в unicode и не в utf. Такие таблицы
(для какого языка в какой системе какая кодировка для текста) мне пришлось
ручками вставлять в код gnumeric'а и abiword'а когда я добавлял к ним i18n
support.
По-любому, этому не место в glibc, а в какой-то универсальной библиотеке.
Best regards,
-Vlad
--
To UNSUBSCRIBE, email to debian-russian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: