Ada_Ru форум

Обсуждение языка Ада

unicode

Оставить новое сообщение

Сообщения

Dmitriy Anisimkov
unicode
2004-05-27 05:05:28

Вопрос, особенно к Вадиму Годунко.

 

Возникла такая задача.

 

Необходимо читать из потока данные произвольной кодировки.

Символы как я понимаю могут быть переменной длинны (даже в пределах одной кодировки).

 

XMLAda это делать не умеет (по крайней мере в текущей публичной версии 1.0).

Он умеет только прочитать все данные из памяти, когда весь документ уже там.

А мне надо читать не из памяти, а из потока, по мере поступления данных, в данном конкретном случае из сокета.

 

Есть ли в AIS такая или схожая функциональность ?

Dmitriy Anisimkov wrote:

Вопрос, особенно к Вадиму Годунко.

 

Возникла такая задача.

 

Необходимо читать из потока данные произвольной кодировки.

Символы как я понимаю могут быть переменной длинны (даже в пределах одной кодировки).

 

XMLAda это делать не умеет (по крайней мере в текущей публичной версии 1.0).

Он умеет только прочитать все данные из памяти, когда весь документ уже там.

А мне надо читать не из памяти, а из потока, по мере поступления данных, в данном конкретном случае из сокета.

 

Есть ли в AIS такая или схожая функциональность ?

 

 

На настоящий момент нет. Но если она тебе нужна и ты в состоянии сформировать задачу, то можем написать.

 

 

-- Vadim Godunko

On Thu, May 27, 2004 at 12:05:28PM +0700, Dmitriy Anisimkov wrote:

Вопрос, особенно к Вадиму Годунко.

 

Возникла такая задача.

 

Необходимо читать из потока данные произвольной кодировки.

Символы как я понимаю могут быть переменной длинны (даже в пределах одной кодировки).

 

XMLAda это делать не умеет (по крайней мере в текущей публичной версии 1.0). Он умеет только прочитать все данные из памяти, когда весь документ уже там. А мне надо читать не из памяти, а из потока, по мере поступления данных, в данном конкретном случае из сокета.

 

Че это не умеет?

Порождаешь тип от Input_Source, переотпредляешь

Next_Char и Eof, чтоб из сокета читали и готово!

Я так из базы данных xml таскаю.

 

 

--

Максим

Vadim Godunko wrote:

 

Есть ли в AIS такая или схожая функциональность ?

 

На настоящий момент нет. Но если она тебе нужна и ты в состоянии сформировать задачу, то можем написать.

 

Я сначала попытаюсь внедрить (или найти) это дело в XMLAda.

Буду держать тебя в курсе.

Maxim Reznik wrote:

 

On Thu, May 27, 2004 at 12:05:28PM +0700, Dmitriy Anisimkov wrote:

Вопрос, особенно к Вадиму Годунко.

 

Возникла такая задача.

 

Необходимо читать из потока данные произвольной кодировки.

Символы как я понимаю могут быть переменной длинны (даже в пределах одной кодировки).

 

XMLAda это делать не умеет (по крайней мере в текущей публичной версии 1.0).

Он умеет только прочитать все данные из памяти, когда весь документ уже там.

А мне надо читать не из памяти, а из потока, по мере поступления данных, в данном конкретном случае из сокета.

Че это не умеет? Порождаешь тип от Input_Source, переотпредляешь

Next_Char и Eof, чтоб из сокета читали и готово!

Я так из базы данных xml таскаю.

 

Если я правельно понял

Next_Char вызывает Unicode.CES.Read для извлечения следующего уникод символа из массива байт.

а если последний символ в массиве урезанный, вылезет Constraint_Error.

нет возможности давать подмассивы одного документа несколько раз.

или надо самому следить что бы в каждом подмассиве последний символ был целым.

 

Можно конечно каждый раз давать массив с несколькими доп. байтами в конце, но это как то криво.

Я еще изучаю этот вопрос, запросил в ACT доступ читать XMLAda последние сырцы.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти