LINUX.ORG.RU
ФорумTalks

У OpenBSD теперь свой vi

 , ,


0

1

Привет, ЛОР!

Тащемта сабж: https://www.opennet.ru/opennews/art.shtml?num=56735

Отдельно порадовало, что там нет поддержки юникода от слова совсем.

No support for Unicode / UTF-8 / wide character display

    Multi-byte characters are shown as individual bytes, rather than glyphs

@saahriktu будет доволен!

★★★★★

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

Дело в том, что работать с такой строкой неудобно. Не значит, что нельзя, но все же лучше когда один символ - один байт (или фиксированное - 2 или 4).

Utf8 существует уже 30 лет. Из них лет 15 он является стандартной кодировкой в интернете. Но в C его до сих пор не умеют. Нужно как минимум glib тащить.

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

Да причем тут умеют или не умеют.

Например, банально захотелось статистику сделать по тексту, количество символов например подсчитать. Или там морфлогией какой посложнее заняться - и все нельзя просто взять и обратиться к массиву по индексу.

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

Я тут очень медленно пилю кое-какой свой проектик, может когда-нибудь выложу публично, а может так и не дойдет, но не суть. Я для русского текста выбрал для внутренней обработки cp1251 - удобнее всего: один байт на символ и в алфавитном порядке.

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

cp1251 - удобнее всего: один байт на символ и в алфавитном порядке.

А если среди т.н. «русского текста» встретится, например «см²», то?

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

cp1251

какой кошмар... и это linux.org.ru... в XXI веке...

банально

и все нельзя просто взять и обратиться к массиву по индексу.

есть такая фигня. it все сложнее. именно поэтому open source теперь развивается корпорациями. именно поэтому теперь systemd вместо свободного линукса. потому что нельзя просто так взять и сделать! (с) с другой стороны берешь и считаешь границы символов (маркировки). пяти минут не прошло и я это сообразил.

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

я прочел, что чувак написал драфт еще в 18 году, но не смог попасть на встречу комитета. на встречу C++ попал и протолкнул. а С не повезло.

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

А если среди т.н. «русского текста» встретится, например «см²», то?

А если еще какой символ? Мне это неважно для моих целей. Немного велосипедю с поиском по тексту и другими его характеристиками.

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

какой кошмар... и это linux.org.ru... в XXI веке...

Что удобно, то и используется. В принципе koi8-r тоже можно, но все же отсортированность иногда полезна.

есть такая фигня. it все сложнее. именно поэтому open source теперь развивается корпорациями. именно поэтому теперь systemd вместо свободного линукса. потому что нельзя просто так взять и сделать! (с) с другой стороны берешь и считаешь границы символов (маркировки). пяти минут не прошло и я это сообразил.

Остается вопрос, а зачем мне себе работу усложнять и понижать скорость обработки? Меня устраивает и то, что некоторые символы будут пропущены при преобразовании utf-8 --- cp1251 (koi8-r)

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

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

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

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

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

серьезно на это отвечать скучно, поэтому я могу только предложить попробовать на раст=) там поди уже есть че-нибудь более современное)

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

Да, добавлю, что внешняя информация может поступать и в юникоде, вернее в разных кодировках, но в основном utf-8 и cp1251, остальные в следовых количествах. Как и выдаваться в юникоде, но вот внутренняя обработка намного проще, когда однобайтовая

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

В принципе, для внутренней обработки можно вообще свою собственную кодировку придумать, просто в этом нет необходимости.

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

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

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

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

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

Ну например, хочется знать такой параметр текста, как частоту встречаемости в нем отдельных букв. В случае однобайтовой кодировки все тривиально пишется черех простой Radix sort.

frequency[text[i]]++; 

Предельно быстро и предельно просто. Зачем искать другой язык? Еще и не уверен, кстати, что такой найдется, вместо массива как минимум будет хэш, а это замедление. Может не всегда критичное, но все же.

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

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

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.