170 похожих чатов

4 ответов

17 просмотров

Это вообще строка из четырёх символов или число в зависимости от того, как прочитать.

Egor Suvorov
Это вообще строка из четырёх символов или число в ...

Я сейчас не троллю и не стебусь, если что. Есть несколько уровней в юникоде. * На нижнем — кодировка. Преобразует байты в code points. UTF-8 — одна из таких кодировок. Например, code point U+008D она запишет как два байта (октета). Code point U+007A она запишет как один байт 7A — специально так проектировалась, чтобы для первых 127 code point'ов выдавать байты, совпадающие с ASCII. Некоторые code point'ы могут записываться в UTF-8 шестью байтами. Есть и другие кодировки: UTF-16BE, UTF-16LE (ещё иногда бывает byte order mark), UTF-32. Например, в UTF-16 все code point занимают чётное количество байт — два или четыре (это ещё называют "суррогатными парами" из двух code unit, по два байта каждый). Вывод: по байту, не зная кодировки, нельзя понять, что это. * Конкретно в UTF-8 байты со значением не между 0-127 нельзя понять, частью какого code point он является. * Дальше каждый code point — это на самом деле страшная вещь. Их можно комбинировать вместе и получать символы. Например, есть минимум два способа записать кириллическую букву "ё" — одним code point или двумя ("е" + "две точки"). В других языках сложнее (смотри ссылку выше). * Дальше можно объединять code point в графемные кластеры. Это творческий процесс: например, в корейском в кластер соберутся несколько букв, которые образуют один-два слога. Просто они записываются примерно как один квадратик. В арабской вязи всё ещё веселее. Не существует никакой концепции "символа", которая бы переносилась между языками. Даже в европейских языках бывают сюрпризы: одна "заглавная" буква "ß" в нижнем регистре превращается в две — "ss". Поэтому нельзя говорить про "символы" в отрыве от конечной задачи преобразования текста, которую мы решаем. Даже конкатенировать так просто нельзя, привет от LTR-RTL marks.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта