LINUX.ORG.RU

Для экономии памяти под один символ.

Singularity ★★★★★
()

При использовании однобайтовых кодировок повышается производительность всех программ обработки строк (в том числе и сортировок в БД).

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

Ну смотри, в программе из строковых данных только 25%, и то в лучшем случае, то там выйгрыш от однобайтовой перед двух- всего лишь 500 кб как максимум.

DeutschNarkoman2007
() автор топика

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

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

Это проблема не многобайтных кодировок, а конкретно UTF-16. Зачем им пользоваться, когда есть более экономичный и лишённый этой проблемы UTF-8?

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

а, точно, мне показалось спрашивают про UTF-8 vs UTF-16

pftBest ★★★★
()

Ими можно троллить на ЛОРе.

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

вот именно по этой причине CBC является неудачным режимом шифрования :-)

user_id_68054 ★★★★★
()

Возможность работы с символами как с байтами, если не нужно ничего за пределами ASCII.

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

А вот если в UTF-16 выпадет один байт, то пропадет весь последующий текст.

зато когда выпадет второй — всё починится :-) .. какая ещё кодировка похвастается таким?!

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

Какие плюсен присутствуют у однобайтен кодировок?

Хороший вопрос. Из разряда «какие плюсы у копчика».

no-such-file ★★★★★
()
  • Зачем прыгать с кодировки на кодировку? А если потом появится ещё какая-нибудь VUG-256, то все с радостью на неё перепрыгнут и переконвертируют свои коллекции текстовых файлов? Не проще ли выбрать кодировку один раз в жизни?
  • Экономия системных ресурсов; тексты занимают меньше места на носителях и в оперативке и быстрее обрабатываются;
  • Можно продолжать юзать <<main (int argc, char **argv)>>, strncpy, strncmp, printf,... и другие неюникодные функции;
  • Можно переместить указатель на подстроку со смещением N символов просто прописав <<strptr + N>> без привлечения лишних сущностей в лице ICU (для отфильтровывания диакритики и других модификаторов);
  • В ядерной консоли по-прежнему размер символа может быть не больше чем 32x32 пикселя, а весь шрифт может весить не более чем 64 Кб. Отсюда и проблемы с кол-вом символов более чем 256. На уровне ядра. Поэтому юзерам ядерной консоли без иксов особой разницы нет, и можно продолжать извлекать преимущества KOI8-R.
  • И т.д.
saahriktu ★★★★★
()

Проще обработка. Например, если надо подсчитать количество символов то для однобайтовой она будет равна длине строки. А если размер символа разный, то тебе надо будет перебирать всю строку, чтобы узнать её длину.

crutch_master ★★★★★
()

Какие плюсен присутствуют у однобайтен

Дегенератен.

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

Расшифрую.
В UTF-8 до 4 байт используется

zolden ★★★★★
()

Какие плюсен присутствуют у однобайтен кодировок?

Можно ходить к саахрикту домой и не палиться.

awesomebuntu
()
Ответ на: комментарий от melkor217

Чего тебе надо?

Я как сидел на КОИ8-Р, так и сижу. Мне нравится. Хрюникод не собираюсь использовать — нафиг мне текстовые файлы в 2-4 раза жирней?

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

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

А вот если в КОИ8-Р пропадет один бит, то пропадет весь последующий текст

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

Например, если надо подсчитать количество символов то для однобайтовой она будет равна длине строки

а где это нужно, кроме gui с моноширинными шрифтами?

в любом случае, можно амортизировать до O(1)

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

Вообще я голосую за UTF-8, но аргумент про потерю бита считаю глупым. Простая ошибка в программе это сделать не сможет.

pftBest ★★★★
()

В треде путают многобайтовые кодировки и utf (кодированный юникод).
Перед многобайтными кодировками плюс только один - в разы меньше памяти.
Перед utf (кроме utf-32, который обычно таки многобайтовая кодировка) - ещё и скорость. Ну и экзотический плюс кои8 - совместимость с семибитным кои.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)

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

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

Самыйгодный ответ. Остальные ламеры

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

аргумент про потерю бита считаю глупым

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

MyTrooName ★★★★★
()

Товарищи наркоманы!

И пню понятно, что хрюникод нужен только китайцам и составителям многоязычных талмудов. 99.9999% остального населения земного Шарика это говно нафиг не сдалось!

Вот сколько можно выпендриваться и ставить хрюникод на компутер с кириллицей? Еще больше поражаюсь с англоязычных дебилоидов, которые вообще локалью могут сделать C или POSIX, но зачем-то ставят хрюникод. BDSM прямо!

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

Зачем прыгать с кодировки на кодировку?

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

А если потом появится ещё какая-нибудь VUG-256

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

то все с радостью на неё перепрыгнут и переконвертируют свои коллекции текстовых файлов?

Много ли людей в XXI в. держат коллекции текстов в plaintext?

Экономия системных ресурсов; тексты занимают меньше места на носителях и в оперативке и быстрее обрабатываются;

Экономия на спичках.

Можно продолжать юзать <<main (int argc, char **argv)>>, strncpy, strncmp, printf,... и другие неюникодные функции;

Не знаю, зачем мне и большинству людей это может понадобиться.

Можно переместить указатель на подстроку со смещением N символов просто прописав <<strptr + N>> без привлечения лишних сущностей в лице ICU (для отфильтровывания диакритики и других модификаторов);

См. пред. пункт.

В ядерной консоли

В ядерной консоли без иксов сидять 2,5 поехавших. И че они там используют - это сугубо их личные половые трудности.

И т.д.

и т.п.

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

а где это нужно, кроме gui с моноширинными шрифтами?

Вот для гуев как раз нужен utf8, а не срач с кодировками.

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

Экономия на спичках.

Дело в области применеия. Если у тебя маны в кои, то таки да, а если огромная бд с полнотекстовым поиском, то это уже другое дело.

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

Ну вот есть у меня текст, нужно быстренько найти 100500-ю строку. Что я делаю? Делаю mmap (пусть ядро за меня парится, как правильно читать — у него всяко лучше будет) и при помощи strchr ищу 100500-й '\n'. И это O(n). А твой хрюникод пришлось бы обрабатывать (или там '\n' не может быть в составе другого символа?)...

И вообще, слишком мало можно придумать вариантов, когда хрюникод для человека, не шпрехающего ни на чем, кроме английского и русского, будет выгодней КОИ8 или другой 8-битной кодировки. Я ни одного варианта придумать не могу. Даже с путями удобней (хотя, конечно, психически здоровые люди в путях ни пробелов, ни кириллицы не используют, но я не назову себя психически здоровым): длина пути в кириллице в 2 раза больше может быть!

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

'\n' не может быть в составе другого символа

да

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

1) а тире в кои8 есть? кавычки?

2) на своем локалхосте можешь извращаться как хочешь. а обмениваться кои8 по сети - моветон

3) gzip нивелирует преимущество размера текста в однобайтовой кодировке

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