Символы UTF-8 встречаются повсюду. Если бы не они и не протокол кодирования UTF-8, тогда вы не смогли бы читать эту статью, а видели бы лишь набор непонятных и нечитаемых символов.
UTF-8 — это протокол кодирования символов в Юникоде. Этот протокол помогает кодировать любой символ. Он является самым распространенным протоколом кодирования в интернете, хотя так было не всегда. При этом, UTF-8 — это не единственный протокол кодирования. Всего их насчитывают несколько десятков. Например, та же таблица символов Юникод сдержит и другие протоколы кодирования: UTF-16 и UTF-32.
Таблица символов Юникод — это стандарт кодирования всех языков мира. Использование этого стандарта открыло возможность в одном документе кодировать:
числа и арифметические символы;
иероглифы азиатских стран;
символы кириллицы и латиницы;
обозначения музыкальных нот;
и др.
Другими словами, таблица символов UTF-8 помогает представить любой письменный символ, понятный человеку, в специальное обозначение, понятное компьютеру. Компьютер не понимает «человеческих» символов. Он понимает только наборы «единиц и нулей». Поэтому так или иначе, но все напечатанные символы и действия с компьютером (например, движение курсора) переводятся в двоичное представление. Процесс перевода «человеческого» символа в обозначение, понятное компьютеру, называется «кодировка».
Таблица символов Юникод представляет собой единый стандарт кодировки символов для всех устройств в мире. А символы UTF-8 — это один из протоколов Юникод. На нем остановимся немного подробнее.
Таблица символов Юникод: символы UTF-8
UTF-8 — это восьмибитный формат кодировки символов Юникод. То есть цифра «8» показывает количество бит. Есть еще UTF-16 и UTF-32, где символы кодируются в 16 и 32 бита соответственно. Благодаря 8-битному представлению символов, этот протокол является очень компактным.
На сегодняшний день, UTF-8 — это доминирующий формат кодировки, на котором кодируется около 97% всей текстовой информации в сети. Его главная «фишка» — это совместимость с кодировкой ASCII. Поэтому что-либо написанное на ASCII будет функционировать так как задумано и не «ломаться» на устройствах.
ASCII — это более старый вид кодировки текстовых символов. Он применялся задолго до UTF-8. Но с развитием компьютерных технологий, он перестал справляться с поставленными задачами, поэтому его постепенно заменил UTF-8.
Для кого важны символы кодировки UTF-8
Старожилы интернет-сети помнят, что лет 15–20 назад была такая ситуация, что приходилось вручную переключать кодировки, чтобы почитать какой-то документ. Например, присылают на почту текстовый документ, открываешь, а там набор нечитаемых символов. Поменял кодировку в программе для чтения и редактирования текста на нужную и прочитал текст. Точно так же могло происходить с сайтами. В общем, складывалась такая ситуация, что разные профессионалы использовали разные виды кодировок, из-за этого возникала несуразица при чтении их материала.
Символы UTF-8 все стандартизировали. Условно, можно сказать, что разные профессионалы из разных сфер деятельности и разных уголков планеты договорились применять для кодировки один протокол и это «символы UTF-8». Поэтому важно в собственных проектах в разных программах использовать именно этот протокол кодировки, чтобы у пользователей не возникало проблем.
Например, в веб-разработке при работе с HTML-документами, также нужно определять кодировку для своего проекта. За определение кодировки отвечает специализированный тег «meta» и его атрибут «charset». Строчку кода с указанием кодировки размещают в раздел «head». Код может выглядеть следующим образом:
<head>
<meta content="text/html; charset=utf-8" />
</head>
Если в собственном сайте не указать кодировку UTF-8, тогда браузер пользователя может стать в «ступор» и отразить его в другой кодировке, которая вызовет ошибки на вашем сайте. Если вы посмотрите HTML-код любого сайта, тогда вы там увидите именно кодировку UTF-8, поэтому в своих проектах просто не забывайте ее проставлять. Например:
при создании сайтов на динамических языках;
при работе с базами данных;
в средах разработки;
текстовых редакторах;
и др.
В большинстве пользовательских программ кодировка UTF-8 применяется по умолчанию. Например, открывая какой-то текстовый файл в Word, в этой программе уже настроена кодировка UTF-8 и файл, который вам передали, также скорее всего будет применять этот протокол кодировки.
Попробуйте поэкспериментировать. Измените протокол кодировки в текстовом редакторе или установите специальное расширение в браузер, которое помогает изменить кодировку просмотра сайтов. В процессе смены протокола кодировки, вы увидите как исследуемые текстовые объекты становятся нечитаемыми.
Заключение
Юникод — это таблица символов. Символы UTF-8 — это часть таблицы Юникод. UTF-8 — это протокол кодирования, который текстовые символы «человеческого» языка представляет в 8-битном формате символов в таблице Юникод.
UTF-8 — это самый популярный протокол кодирования, поэтому важно использовать именно его, если другие протоколы кодирования не обоснованы специфичностью вашего проекта.
Другое