← Все вопросы

В чём разница между ASCII и Unicode простыми словами?

Задан 27 месяцев назад1к просмотров2 ответа
6

Знаю про ASCII, теперь везде пишут про Unicode и UTF-8. Не пойму, в чём между ними разница и зачем понадобился Unicode, если ASCII вроде и так работал. Это что, разные таблицы кодов?

2 ответа

11
✓ Принятый ответ — помог автору

ASCII придумали под английский: 128 кодов (7 бит). Этого хватает на латиницу и знаки, но не хватает на русские, китайские, арабские буквы, эмодзи и т.д. — символов в мире десятки тысяч.

Unicode — это огромная таблица, куда внесли символы практически всех языков мира (там больше миллиона возможных кодов-позиций). Первые 128 кодов совпадают с ASCII, чтобы старый текст не сломался.

UTF-8 — это уже способ записать коды Unicode в байты. В нём латиница (ASCII-символы) занимает 1 байт, а более «экзотические» символы — 2, 3 или 4 байта. Так что Unicode — это «что кодируем» (набор символов), а UTF-8 — «как это упаковать в байты».

4

Короткая аналогия: Unicode — это словарь, где у каждого символа мира есть свой номер. UTF-8, UTF-16 — разные способы записать этот номер байтами. Поэтому один и тот же символ в UTF-8 и UTF-16 может занимать разное число байт, хотя его «номер» в Unicode одинаковый.

Ваш ответ

Войдите, чтобы ответить на вопрос.