Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какова принципиальная разница между кодировками utf-8 и ASCII?

Серге Троценко Ученик (92), закрыт 5 лет назад
Добрый вечер

Зачем было придумывать utf-8 если уже существовала ascii кодировка? Понимаю utf-8 поддерживает больше символов НО почему тогда в UNIX/LINUX подобных системах везде при работе с терминалом вывести данные можно либо в HEX либо в ASCII но нигде нету (я не видел не разу) UTF-8 которая новее, поддерживает больше символов и. т. д... но тем не менее при работе с консолью она не используется.
Лучший ответ
Андрей Высший разум (480454) 5 лет назад
1. utf-8 - это всего лишь один из множества способов записи символов стандарта Unicode.

2. В настоящий момент Unicode содержит более 150000 символов.

3. ASCII - это стандарт, принятый в США и для США. Он содержит только 128 символов (Unicode сделан так, что его первые 128 символов совпадают с ASCII) - то, что есть на английской раскладке клавиатуры твоего компьютера.

4. Консоль *NIX (будь то Linux, *BSD, macOS и т. д.) прекрасно поддерживает utf-8. Это только в Windows жопа.
Остальные ответы
Ламзин Андрей Просветленный (37921) 5 лет назад
" почему тогда в UNIX/LINUX подобных системах везде при работе с терминалом вывести данные можно либо в HEX либо в ASCII но нигде нету (я не видел не разу) UTF-8"

Это не так, в linux ubuntu (а также debian, FreeBSD) терминал работает с UTF-8 по умолчанию.

ASCII первая половина таблицы фиксирована, вторая для региональных символов. То есть, если ASCII codepage поддерживает кириллицу, она не поддерживает арабские символы, для них нужна своя отдельная codepage. UTF-8 и тем более UTF-16 позволяет хранить все символы в одной таблице за счёт большего максимально допустимого кода символа.
Серге ТроценкоУченик (92) 5 лет назад
Спасибо, например возьмем утилиту tcpdump:
tcpdump -i wlan0 -l -A //вывод в ascii но других кодировок я не могу найти... почему так...
Ламзин Андрей Просветленный (37921) Вот тут как мне кажется хорошо написано: qaru.site/questions/1051399/sniffing-and-displaying-tcp-packets-in-utf-8
Максим Искусственный Интеллект (218438) 5 лет назад
Принципиальная разница в том, что в ansii лишь малый набор символов. И зачастую вам этого будет мало. Но при этом меньше расход памяти.
Юрий Семыкин Искусственный Интеллект (215981) 5 лет назад
ANSII (КОИ-8) хватало, пока китайцы активно не включились.
Голова РоботаПросветленный (36360) 5 лет назад
Нет, были проблемы. Одна 8-битная кодировка не может использоваться во всех европейских странах. Разные кодировки - это неудобство.
Похожие вопросы