Верстка, CSS, HTML, SVG

У меня снова глупый вопрос...: ((

Почему utf-8 совместим с ASCII, и какое основное различие между utf-8, utf-16, utf-32. почему иногда они отражают текст по разному? Понимаю вопрос может и тупой но я сам тупой :((
Если часто будешь повторять что «тупой» умнее не станешь, а вот наоборот запросто. Самовнушение не миф.

Для начала начни указывать суть вопроса в заголовке.
--

UTF-8 совместим с ASCII, потому что первые 128 символов в них совпадают. Буквы латиницы, знаки препинания, спецсимволы разметки.

UTF-8 — в зависимости от положения символа в таблице кодирования, от одного до четырёх байт. Английские буквы один байт, русские два. Используется в Сети.

UTF-16 — кодирование символов двумя байтами, Кодирование может быть как прямым, порядком так и обратным. Используется в Windows.

UTF-32 — любой символ всегда занимает 4 байта. Используется в Unix.
Кайрат Кахарманов
Кайрат Кахарманов
72 573
Лучший ответ
Ришат Касымбеков Зачем придумали utf-16 если utf-8 может закодировать практически все символы юникода тк ее длина переменная от 1-4
это разные способы кодирования символов т. н. юникода.

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

в utf-16 и utf-32, емнип, под один символ отведено строго по 2 и 4 байта соответственно.

в utf-8 коды символов имеют разную длину. тут на один символ приходится от 1 до 4 хитрых байтов. причем хитрость специально такая, чтобы первые 128 символов в utf-8 кодировались одним байтом и совпадали с ASCII.

в общем, так как-то.
Valery Serenko
Valery Serenko
92 496
Александр Дубровщенко В UTF-16 для символов за пределами нулевой плоскости Unicode используют суррогатные пары: по 4 байта на символ.
в количестве бит на символ со всеми вытекающими.
строка из 10 символов в utf8 может быть прочитана как строка из 5 символов в utf16. ну и соответственно выводится на экран будут совершенно разные символы.