OberonCore
https://forum.oberoncore.ru/

А нужен ли юникод?
https://forum.oberoncore.ru/viewtopic.php?f=3&t=31
Страница 2 из 3

Автор:  batyrmastyr [ Воскресенье, 01 Апрель, 2007 14:17 ]
Заголовок сообщения: 

Борис Рюмшин писал(а):
Чуть точнее можно? И ссылки прямые приветствуются.

о проблемах Юникода в статье " 'Проблема кодировок': стечение обстоятельств или стратегический замысел?" http://consumer.nm.ru/kod.htm

На http://sage.h15.ru/?e0l0 утверждается, что в BlueBottle 4 байт UCS32.

Так что вопрос какую кодировку- Unicode (utf-7, utf-8, UTF16, UTF16LE, UTF16BE, UTF32, UTF32LE, UTF32BE), UCS32 (это-юникод или нет?) или японский JIS X 0208-1990 использовать в качестве основной открыт.

Автор:  Борис Рюмшин [ Воскресенье, 01 Апрель, 2007 23:34 ]
Заголовок сообщения: 

UTF-8 :) хорошо бы было. В Bluebottle именно он (если склероз мне не изменяет).

Двухбайтовый CHAR и сложившаяся традиция нам выбора не оставляет. В BlackBox вариант юникода UCS2.

Автор:  batyrmastyr [ Понедельник, 02 Апрель, 2007 13:37 ]
Заголовок сообщения: 

Борис Рюмшин писал(а):
UTF-8 :) хорошо бы было. В Bluebottle именно он (если склероз мне не изменяет).

Двухбайтовый CHAR и сложившаяся традиция нам выбора не оставляет. В BlackBox вариант юникода UCS2.


Насколько я понял кроме несколькольких стандартов таблиц символов, существует несколько стандартов их хранения-передачи. По моим впечатлениям символы utf8 хранятся с переменной длинной- разница в длине между абзацем ascii и utf8 английского текста-3 байта (537 и 540 символов), русского ~2раза (270 и 510).

С BlueBottle вообще странное что-то- вот выдержка из FAQ
Цитата:
Will Unicode be supported?
A: Yes, in the forthcoming text system. Not in the Native Oberon environment.

Will there be a National Language Support (NLS): date and time formatting, numeric and monetary formatting, keyboard, fonts?
A: No. That would have to be done at a higher level in the text system which is in preparation.

Will Cyrillic be supported?
A: No. Anybody can volunteer for adding this support. The task is similar to what is described for Native Oberon in "Keyboard support". Transpose that to AosKeyboard.Mod.

И из Support List
Цитата:
Input Method Editors: Cyrillic, Pinyin (experimental)

как это понимать? :?:

Автор:  Борис Рюмшин [ Понедельник, 02 Апрель, 2007 13:46 ]
Заголовок сообщения: 

UTF-8 - это кодирование переменной длинны. Стандартные ASCII занимают 1 байт. Русский язык в частности - 2 байта. UCS2 - фиксированный, 2 байт, применяется в Windows.

В BlueBottle русский язык поддерживается (даже китайский поддерживается :)). Правда криво - шрифт никуда не годится. Способ ввода... хм... какой-то комбинацией клавиш. Я сейчас не помню. Но не стандартной. Там где-то написано, как бы не в Tutorial...

Автор:  Борис Рюмшин [ Понедельник, 02 Апрель, 2007 13:52 ]
Заголовок сообщения: 

Никто не хочет купить книжечку со стандартом Unicode 5.0? :D :D :D

http://www.unicode.org/

Автор:  Иван Горячев [ Понедельник, 02 Апрель, 2007 16:39 ]
Заголовок сообщения: 

Борис Рюмшин писал(а):
Никто не хочет купить книжечку со стандартом Unicode 5.0? :D :D :D

http://www.unicode.org/

А зачем покупать? Вся нужная информация уже на винте

Автор:  batyrmastyr [ Понедельник, 02 Апрель, 2007 23:29 ]
Заголовок сообщения: 

Ivor писал(а):
Борис Рюмшин писал(а):
Никто не хочет купить книжечку со стандартом Unicode 5.0? :D :D :D

http://www.unicode.org/

А зачем покупать? Вся нужная информация уже на винте

Не знаю что в книге, но таблицы символов раздаются по цене 30мег трафика http://www.unicode.org/Public/5.0.0/cha ... Charts.pdf
Цитата:
This directory contains a single PDF file containing a complete set of
character code tables and list of character names for The Unicode
Standard, Version 5.0.


Однакож приводить BlackBox к единой кодировке кажись надо. ..будет, может сразу к 3 или 4 байтам? цитата из данной ранее статьи
Цитата:
* По данным японских учёных, символы всех известных языков мира, как используемых сейчас, так и ныне "мёртвых", можно уместить в таблицу символов, насчитывающую 2^24 = 16777216 позиций.

Автор:  Борис Рюмшин [ Понедельник, 02 Апрель, 2007 23:45 ]
Заголовок сообщения: 

batyrmastyr писал(а):
Однакож приводить BlackBox к единой кодировке кажись надо. ..будет, может сразу к 3 или 4 байтам? цитата из данной ранее статьи
Цитата:
* По данным японских учёных, символы всех известных языков мира, как используемых сейчас, так и ныне "мёртвых", можно уместить в таблицу символов, насчитывающую 2^24 = 16777216 позиций.


Собственно такой процесс сейчас и идет. Как я уже выше сказал, юникод введен в язык в виде двубайтового CHAR. Это означает, что близлежащий вариант только один - UCS2.

Автор:  CheshireCat [ Четверг, 13 Сентябрь, 2007 13:42 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Уникод как решение проблемы имеет недостатки. Например
двукратный рост обьема текстов прямо приводит к замедлению его
обработки. Экономные варианты уникода? Там другой неочевидный
источник замедления за счет усложнения алгоритмов обработки
и утраты вследствие этого возможности прямой аппаратной их
поддержки. Ветвлений современные процессоры не любят.
Ну а кому выгодно это замедление отличных от английского языков
- ясно всем... Так же как гигабайты требований Висты выгодны
небезызвестным акционерам фирм-производителей памяти и
жестких дисков))

Как альтернативную попытку посмотрите например проект
кодировки Розетта. Они вроде заявляли сохранение восьмибитных
алгоритмов обработки. Просто у них кодировку имеют слова а не символы.
Так что если будет надо, символы разных языков отображу, способ знаю))

Далее. Мне хватит одного русского. И я для себя лично
проблему кодировки и лицензионности решил разом - ушел с Виндовс
на Линукс/НетБСД и просто постулировал везде использовать КОИ8Р.

Уникод для меня, как и ХМЛ, всего лишь формат ОБМЕНА данными а
НЕ ХРАНЕНИЯ ИЛИ ОБРАБОТКИ. И я по мере сил буду сопротивляться
введению ОЧЕРЕДНЫХ всеобщих)) и единых)) кодировок, лишь
увеличивающих в итоге общий бардак. Пусть внутри ВСЕ будет в
КОИ8, SHORTCHAR. А для общения со внешним миром у меня будут
конверторы из нужного варианта уникода, из CHAR.

...ББ давно на паузе у меня, слишком виндовый.
Долго копался в mocka(modula2) над статическими уцЛибс.
Довел ее до более-менее удобного состояния, внес несколько
мелких модификаций. Для написания мелких утилит пойдет. Сейчас
копаюсь в linz oberon v4, возможно посмотрю углубленно system3 если
простого v4 не хватит как универсальной платформы для расширяемого
приложения, сетевого сервера. Веб-сервера в частности.
А все эти Оберон-системы давно работают под Линуксом и это хорошо))

Автор:  Илья Ермаков [ Четверг, 13 Сентябрь, 2007 15:07 ]
Заголовок сообщения:  Re: А нужен ли юникод?

CheshireCat писал(а):
Уникод как решение проблемы имеет недостатки. Например
двукратный рост обьема текстов прямо приводит к замедлению его
обработки.

?? Если брать обработку больших массивов текста на внешних носителях - то да.
А если обработку строк в программе, то эффект обратный - хотя бы из-за того, что работа с двухбайтными словами происходит быстрее, чем с отдельными байтами.

Автор:  Борис Рюмшин [ Четверг, 13 Сентябрь, 2007 23:55 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Илья Ермаков писал(а):
CheshireCat писал(а):
Уникод как решение проблемы имеет недостатки. Например
двукратный рост обьема текстов прямо приводит к замедлению его
обработки.

?? Если брать обработку больших массивов текста на внешних носителях - то да.
А если обработку строк в программе, то эффект обратный - хотя бы из-за того, что работа с двухбайтными словами происходит быстрее, чем с отдельными байтами.

Спокойно, товарищи. Юникод это уже не "как решение проблемы", а свершившийся факт.

Автор:  Trurl [ Пятница, 14 Сентябрь, 2007 08:30 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Илья Ермаков писал(а):
А если обработку строк в программе, то эффект обратный - хотя бы из-за того, что работа с двухбайтными словами происходит быстрее, чем с отдельными байтами.

Да ну, чушь.

Автор:  Trurl [ Пятница, 14 Сентябрь, 2007 09:22 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Борис Рюмшин писал(а):
Спокойно, товарищи. Юникод это уже не "как решение проблемы", а свершившийся факт.

И относится к нему надо как к осознанной необходимости.:-)

Автор:  Илья Ермаков [ Пятница, 14 Сентябрь, 2007 10:04 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Trurl писал(а):
Илья Ермаков писал(а):
А если обработку строк в программе, то эффект обратный - хотя бы из-за того, что работа с двухбайтными словами происходит быстрее, чем с отдельными байтами.

Да ну, чушь.

Может, и чушь. Интуитивно кажется, что так :-)

Автор:  Ярослав Романченко [ Пятница, 14 Сентябрь, 2007 14:01 ]
Заголовок сообщения:  Re:

Борис Рюмшин писал(а):
UTF-8 :) хорошо бы было. В Bluebottle именно он (если склероз мне не изменяет).

UTF-8 только в файлах на диске... (С моими кодерами и декодерами теперь можно хоть в CP866 сохранять :D )
Когда файл открывается редактором, "на лету" перекодируется в UCS32 (4 байта)
Поддержка любых :!: мыслимых кодировок обеспечивается соответствующими кодерами и декодерами.
UTF-8 для cjk (China Japan Korea) кодировок не подходит (суммарное количество иероглифов превышает число 65536)!
Для кириллицы, значащие биты в юникоде похоже совпадают с UCS32 :D
Вроде-ж всё понятно изложил http://sage.com.ua/ru.shtml?e1l2 :mrgreen:

Так, что что-бы не обидеть cjk -- UCS32 MUST HAVE! :mrgreen:

Автор:  Trurl [ Пятница, 14 Сентябрь, 2007 15:39 ]
Заголовок сообщения:  Re: Re:

Ярослав Романченко писал(а):
Поддержка любых :!: мыслимых кодировок обеспечивается соответствующими кодерами и декодерами.
UTF-8 для cjk (China Japan Korea) кодировок не подходит (суммарное количество иероглифов превышает число 65536)!

UTF-8 может закодировать 2147483648 символов- гораздо больше, чем есть и будет в юникоде.

Автор:  Ярослав Романченко [ Пятница, 14 Сентябрь, 2007 16:10 ]
Заголовок сообщения:  Re: Re:

Trurl писал(а):
UTF-8 может закодировать 2147483648 символов- гораздо больше, чем есть и будет в юникоде.

Спасибо за инфу!
Но поскольку UTF-8 переменной длины, то очевидно UCS32 удобнее для представления текста в памяти поскольку его длина фиксированна.
В Bluebottle символ текста определяется в AosTexts.Mod как:
Код:
Char32* = LONGINT;

а строка таких символов:
Код:
UCS32String* = ARRAY OF LONGINT;

Для того что-бы получить текст из какого-либо редактора
служит единственная процедура:
Код:
PROCEDURE GetAsString*(VAR x: ARRAY OF CHAR);

которая возвращает в массив строку UTF-8 :)
Только вот что-бы вставить текст в редактор нужно самим преобразовать UTF-8 (или что там у нас) в UCS32 :)
Код:
PROCEDURE UTF8toUnicode*(VAR utf8: ARRAY OF CHAR; VAR ucs: ARRAY OF LONGINT; VAR idx: LONGINT);

и добавить процедурой:
Код:
PROCEDURE InsertUCS32* (pos : LONGINT; VAR buf : UCS32String);

объявленной в объекте UnicodeText в модуле AosTexts.Mod
Пока писал свой UDPChat изучил досконально :D

И чего это Бутылку никто не изучает? :?

Автор:  Александр Ильин [ Пятница, 14 Сентябрь, 2007 16:35 ]
Заголовок сообщения:  Re: Re:

Ярослав Романченко писал(а):
И чего это Бутылку никто не изучает? :?

Работала бы под VMWare - я бы изучал.

Автор:  Ярослав Романченко [ Пятница, 14 Сентябрь, 2007 16:41 ]
Заголовок сообщения:  Re: Re:

Александр Ильин писал(а):
Ярослав Романченко писал(а):
И чего это Бутылку никто не изучает? :?

Работала бы под VMWare - я бы изучал.

Запускаться запускается... но, согласен, работой это назвать сложно... тормозит.
Я на отдельный раздел сначала поставил... А потом вообще отдельный системник собрал из б/у комплектующих :mrgreen:
Celeron 1 GHz 128 Mb памяти -- на сегодняшний день копейки...

Автор:  Ярослав Романченко [ Пятница, 14 Сентябрь, 2007 16:48 ]
Заголовок сообщения:  Re: А нужен ли юникод?

Вобщем UCS32 и есть почти Unicode...
Только правильнее её называть UCS-4 :)
http://www.unicode.org/standard/principles.html

Страница 2 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/