LINUX.ORG.RU

Какой нативный тип данных для строк в линукс?

 , , ,


0

4

Собственно, интересует такой вопрос. Какой нативный строковый тип данных в линукс (убунта, дебиан, центос)? К примеру, в винде все внутренности в UTF-16LE, Анси функции просто конвертируются в юникод. А как здесь? Можно ли юзать обычный 8 битный char , или лучше что-то другое (чтобы работало везде).

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

Это да, но тут кому как.

setlocale() - это ещё glibc, а сторонние библиотеки - это уже не glibc. А одни библиотеки, разумеется, не знают о других, и смешивать их тот ещё квест.

В том же Free Pascal'е можно просто перезагрузить _классические_ строковые функции юникодными вариантами, которые будут работать с конкретными UnicodeString (UTF-16). При этом конвертирование в UTF-8 при выводе происходит автоматически, а для чтения из UTF-8 в UnicodeString есть UTF8Decode().

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

сейчас у уникодных всё-таки недостатков в чём-то меньше (нет этих граблей), в чём-то больше (обрабатывать сложнее и медленее, да и те же составные символы например «й» из пары отдельных)

Обработку ограниченного числа языков можно реализовать сравнимо быстро, поскольку таблицы превращения регистров вполне влазят в L1 кэш для целей сравнения/сортировки. А проблема составных символов скорее надумана, чем актуальна.

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

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

+

deep-purple ★★★★★
()
Ответ на: комментарий от saahriktu

у меня вот musl и нет setlocale. он и не нужен, по сути. если есть даже встроенный функционал для работы с юникодом, то какие проблемы?

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

Про musl ничего не знаю. Нравится - пользуйтесь, никто не против. В glibc'е тоже есть функционал для работы с юникодом, но через тип данных wchar_t.

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

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

Для всех ли композитных символов есть NFC?

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

glibc - одна из реализаций. причём не самая лучшая в плане поддержки стандартов, если уж на то пошло

у меня вот musl и нет setlocale

какие проблемы?

Нет, конечно, никаких. За исключением противоречия в твоих суждениях

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

Я просто подсказывал тебе. Если ничего не смущает - то и ладно

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.