Sergej Durmanov писал(а):
Денис, ты постоянно пытаешься хамить и оскорблять сотрудников ETHZ и разработчиков A2
Хамить - это понятие растяжимое. Я, конечно, не слишком ласков, но уж оскорблений за собой не припомню как минимум за последний год. Я не могу оскорблять команду A2, потому что они (вы) создали прекрасную систему, но я не закрываю глаза на проблемы и высказываю своё мнение о том, как лучше поступить людям, интересующимся A2. Я думаю, лучше будет, если Вы укажете мне конкретные примеры по другим каналам связи, потому что здесь тема про юникод и кодировки.
Цитата:
Над библиотекой поддержки юникода работаю я, о чём писал в телеграм-канале. То, что ты выдаешь за такую библиотеку оной не является.
Я запамятовал, кто над ней работал, но это не важно. Ведь библиотеки же нет? Сроки её появления опубликованы? Я, возможно, пропустил. Я ничего не выдаю ни за какую библиотеку, это твоё понятие о библиотеке, содержание которого я не понял и я это чётко написал. Я не могу выдавать что-либо за то, смысл чего мне неясен. В целом понятие "библиотека" слишком широкое, чтобы одного этого слова хватило для понимания, что входит в такую библиотеку, а что нет.
В модуле StringsUCS32.Mod имеется:
* реализация "строк" на базе указателей
* построитель строк на базе потока из которого можно получить строку в UTF32 без перекодировок
* конкатенация, перевод регистра, обрезание строк.
* печать типов, оформленная в виде операций над строками, например,
можно прибавить целое к строке, чтобы получить любимое "2"+2 = "22",
надо, кстати, это выкинуть.
* сравнение строк
* поиск символа в строке
Иными словами, всё то же, что в модуле Strings, но для UTF32.
Помимо этого модуля, расширен интерфейс потоков - он позволяет читать и писать строки в формате UTF32. Перекодировка в UTF-8 происходит как раз-таки "на лету" или "не совсем лету" - возможно, где-то выделяется промежуточный буфер и это, конечно, нехорошо. Не помню и лень сейчас лезть туда.
Соответственно, наличие UTF32 в модуле Texts (и большое количество клиентов этого модуля) в сумме с наличием модуля StringsUCS32 создаёт предпосылки для того, чтобы ввести тип симв32 (CHAR32), и я это сделал. Если в A2 нет подобного модуля (хотя он, как ты пишешь, не тянет на библиотеку), то предпосылок
для введения типа CHAR32 в A2, возможно, меньше. Однако, я считаю, что
крайне неудобно иметь представление букв в тексте в виде чисел, поэтому одного модуля Texts должно хватить.
Цитата:
Затем преобразовали в UTF32. Но эта замена себя не оправдала.
Оправдала она себя или нет - код на сегодняшний день написан именно так. А чем она себя не оправдала, можно узнать?