Андрей
Высший разум
(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 но других кодировок я не могу найти... почему так...
Зачем было придумывать utf-8 если уже существовала ascii кодировка? Понимаю utf-8 поддерживает больше символов НО почему тогда в UNIX/LINUX подобных системах везде при работе с терминалом вывести данные можно либо в HEX либо в ASCII но нигде нету (я не видел не разу) UTF-8 которая новее, поддерживает больше символов и. т. д... но тем не менее при работе с консолью она не используется.