Что такое кодирование символов в Юникоде, UTF, ASCII

alexei08/05/2021 - 09:01
Что такое кодирование символов в Юникоде, UTF, ASCII

Понимание кодировки символов имеет решающее значение для всех, кто печатает на компьютере, особенно на иностранных языках, используя эмодзи или любые другие специальные символы. В этой статье мы расскажем об основах кодировки символов в Юникод, о кодовых точках, кодовых единицах, а также рассмотрим искусство рисовать на ASCII.

Без письменного языка мы не смогли бы написать весь этот текст, и вы не смогли бы его прочитать. Язык – это тот инструмент, благодаря которому люди могут транслировать друг другу то, что существует в их ментальном пространстве. Без языка не было бы общения, но не было бы общения и с языком, если бы собеседник не понимал бы, что вы говорите. Это же относится и к компьютерам.

Любой разработчик может создать свой язык для своего программного обеспечения. Например, если ваш телефон работает на программном обеспечении одного разработчика, и вы хотите написать сообщение человеку, чей телефон работает на программном обеспечении другого разработчика, то у вас может ничего не получиться. Наверняка у вас были случаи, когда во время переписки с кем-то, вместо смайликов и других символов вы получали бессмысленные символы - "??". Именно для того, чтобы избавиться от возникновения подобных ситуаций, разработчики начали использовать кодировку Юникод.

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

Что такое Юникод?

Юникод – это глобальный стандарт кодировки символов, который используется для привязки кода ко всем существующим письменным знакам и символам, содержащимся во всех языках, используемых для письменного общении во всем мире. Юникод является непревзойденным эталоном кодирования и стандартом для поддержки всех языков мира, за исключением ряда уникальных китайских символов. Юникод необходим всем, кто собирается использовать Java, XML, LDAP, JavaScript и другие языки программирования.

Без кодировки символов нет и Юникода. Кодировка символов – это привязка определенного числа (кода) к заданному символу. Юникод – это общепринятая во всем мире система кодировки символов. Например, английской букве "B" соответствует число 6, a=12, s=15 и т. д.

Как своего рода система, Юникод определяет коды для более 128 000 символов. Кроме того, он имеет различные форматы кодировки, которые называются Форматом преобразования Юникода (Unicode Transformation Format - UTF). Это такие форматы как:

  • UTF-8. Это наиболее компактный формат для кодирования различных символов. Для кодирования используется от 1 до 4 байт. Все зависит от конкретного символа. Так для кодирования символов латиницы используется всего один байт или 8 бит. Для кодирования символов других алфавитов используются дополнительные серии битов. Этот формат очень популярен в Интернете и в системах электронной почты.
  • UTF-16. Этот формат для кодирования символов использует 2 байта или 16 битов. Это позволяет представить огромное количество символов, так как для кодирования каждого символа используется полностью 2 байта во всем диапазоне.
  • UTF-32. В этом формате для кодирования символов используется 4 байта или 32 бита. Данный формат появился как расширение технологии кодирования 16 битного формата для решения некоторых его ограничений. Наиболее интересной особенностью этого формата является то, что ему не нужно для представления увеличенных символов использовать пары 32 битных чисел. Он вполне способен представить любой символ Юникода как сплошное 32 битное число.

Зачем был создан Юникод?

Американский стандартный код для обмена информацией (ASCII) был первым популярным методом кодирования, но он имел ограничения по символам, используя только 128 кодовых определений. Он хорошо подходил для символов латинского алфавита, но с другими алфавитами возникали проблемы. В результате разработчики из других стран начали создавать свои методы кодирования, подходящие для их собственных языков.

Результатом стали дебри методов кодирования с весьма ограниченной связью за пределами своих изначальных регионов. Таким образом, в качестве компромисса между разработчиками всего мира появился Юникод.

Почему следует использовать Юникод?

Юникод является глобальной системой и как таковой поддерживает множество языков. Благодаря этому разные языки можно комбинировать на одном дыхании, в отличие от того, что было раньше, когда приходилось работать с одним языком за раз. Юникод используется многими гигантами компьютерной промышленности, таких как Apple, Microsoft, HP и так далее. Кроме того, это схема кодирования символов в популярных браузерах, таких как Firefox, Google Chrome и т.д.

Использование Юникода увеличивает ваши шансы быть понятым на всех известных устройствах.

Что такое "кодовые точки"?

Кодовая точка - это значение, которое приписывается символу в схеме кодирования символов Юникод. Кодовые точки разбиты на 17 различных секций, называемых плоскостями, которые содержат до 65 536 кодовых точек. Эти плоскости нумируются числовыми значениями от 0 до 16. При этом в плоскости с номером 0, содержатся часто повторяющиеся коды.

Что такое "кодовые единицы"?

Обратите внимание, что кодовые единицы могут быть изменены на кодовые точки, а методы кодирования символов содержат кодовые единицы. Эти единицы указывают, где находится символ внутри плоскости.

Рисование при помощи символов ASCII

Если вы заявите, что рисование при помощи символов ASCII уже неактуально, то вы рискуете получить ту же реакцию, что и компания Microsoft, которая сделав подобное заявление в 1998 году, получила множество негативных комментариев, а Билла Гейтса назвали чрезмерно усердным человеком, отчаянно пытающимся навязать людям свои шрифты Microsoft.

В свое время искусство рисовать при помощи символов ASCII оказало сильное влияние на развитие алгоритмов создания современных компьютерных изображений. И в настоящее время подобный способ создания картинок все еще широко используется. Кроме того, нынешние эмодзи являются потомками старых ASCII-смайликов. В действительности на некоторых устройствах до сих пор используются старые ASCII-смайлики.

         .-"""-.         /       \         \       /  .-"""-.-`.-.-.<  _ /      _,-\ ()()_/:) \     / ,  `     `|  '-..-| \-.,___,  /        \ `-.__/  /         `-.__.-'`

Изначально рисование при помощи символов ASCII придумывалось вовсе не для того, чтобы создать новый вид искусства. Его функция приблизительно была той же, что сегодня делают современные принтеры. Креативность привела к рождению ASCII и его влияние похоже исчезнет еще не скоро. Некоторые разработчики даже создают специальные приложения, которые трансформируют произведения современного искусства в их версии на ASCII.

░█▄▒▄█░▄▀▀░█░▀█▀▒██▀▒█▀▄░░▒█▀▄░█▒█
░█▒▀▒█▒▄██░█░▒█▒░█▄▄░█▀▄░▄░█▀▄░▀▄█

Приведенное изображение создано при помощи Конвертера текста.