LINUX.ORG.RU

GNU libunistring 1.4

 , libunistring,


3

2

Состоялся релиз GNU libunistring 1.4 — библиотеки, которая позволяет работать с Unicode-строками в программах на C, а также со строками C в соответствии со стандартом Unicode.

Изменения в этом выпуске:

  • Алгоритмы и таблицы с данными обновлены до стандарта Unicode 17.0.
  • Исправлены проблемы с работой функций u*_grapheme_next и u*_grapheme_prev для символов Indic, Emoji и индикаторов региона.

Проект поддерживает UTF-8, UTF-16 и UTF-32. Распространяется на условиях LGPL 2.1.

>>> Код на savannah.gnu.org

>>> Сообщение в списке рассылки

★★★★★

Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 5)

Алгоритмы и таблицы с данными обновлены до стандарта Unicode 15.

Вроде же до 17 же.

Stanson ★★★★★
()

// Код на savannah.gnu.org

Осуждаю

pascal ★★★
()
Ответ на: комментарий от Wapieth

в Си вообще нет ничего. там только байтики :)

у меня другой вопрос: а чем это лучше/хуже того же icu? конечно, icu - тот ещё жир, но зато прямо монументальный, там есть ффсё.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

у меня другой вопрос: а чем это лучше/хуже того же icu?

Лицензия не гнутая. Ну и да, ICU здоровенный язь. Часто одной пары старых c+h достаточно для обеспечения поддержки функциональности юникода, так что в некоторых проектах libunistring будет в самый раз.

Bfgeshka ★★★★★
()
Ответ на: комментарий от dataman

ну, там несколько отдельных бибиотек внутри. штук 6, если не больше. они разделены по функционалу.

а юникод я там юзала ещё лет 25 назад, когда ещё на маздае работала. icu уже тогда была, и довольно развитая, а юникода толком нигде ещё не было. она вообще очень древняя.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

ну, там несколько отдельных бибиотек внутри. штук 6, если не больше. они разделены по функционалу.

Толку-то от этого, если их нельзя выборочно установить. По крайней мере, так в Debian/Devuan.

dataman ★★★★★
()
Ответ на: комментарий от Iron_Bug

в Си вообще нет ничего. там только байтики :)

Ну я помню там функции работы со строками. Сама строка представляет собой массив байтиков, но функции работают с ними именно как с текстовыми строками.

Wapieth
()
Последнее исправление: Wapieth (всего исправлений: 2)
Ответ на: комментарий от Wapieth

ну, например склевание, поиск символов и прочие механические операции с массивами. есть также интерпретация символов как одиночных и «широких» (wide char) и соответствующие манипуляции а такими массивами. и остались исторически ASCII коды символов и работа с ними. а всё прочее, что касается логического интерпретирования байтиков - это вот libunisring, icu, base64 и т.д.

в принципе, это правильно. текстовые строки - это просто байты. помню, когда я сказала преподу в Универе, что «текстовые» и «бинарные» файлы ничем особо и не отличаются, он заявил, что я не знаю «основ Си». на самом деле, во всех файлах лежат байты. а интерпретация байтов зависит от кучи факторов: представление символа (один байт, несколько байт, мультибайтовые кодировки), их семантика (это сами кодировки). ну и есть куча операций с учётом представления и семантики.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от diamond_cat

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

WatchCat ★★★★★
()
Ответ на: комментарий от pascal

да, я про графен читала когда-то. но лично не использовала. пока не было нужно. а так, suckeless - наше ффсё. стараюсь всегда придерживаться разумного минимализма и принципа KISS. хотя сейчас это немодно: кругом жир на жире жиром погоняет. поэтому особенно ценен компактный и надёжный, хорошо оптимизированный софт.

Iron_Bug ★★★★★
()
Ответ на: комментарий от pascal

ну знаю, где такие извращения. это какой-то узкоспецифичный зоопарк. а так, вполне себе много простых и эффективных утилек, которым ничего не нужно, кроме системы.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Мы делаем растовое приложение в виде .so, на которую делает dlopen tarantool, в который мы потом ходим из .so по ffi :)

pascal ★★★
()
Ответ на: комментарий от pascal

мне это совсем не интересно. у меня ржавчина - это стоп-фактор. ну и пистон ещё. я только туда, где сишечка и плюсы.

Iron_Bug ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.
Тема будет перемещена в архив .