Пакет UTF8
В этом уроке ты узнаешь о пакете UTF8 и кодировке символов в языках программирования.
Пакет Unicode/utf8 предоставляет несколько полезных функций для запроса и управления строками и []bytes, которые содержат байты UTF8.
Прежде всего, давай поймем разницу между кодировкой UTF8 и ASCII.
Кодировка ASCII против UTF8
В первые дни изобретения языка программирования ученые-компьютерщики чувствовали потребность только в 128 символах, и поэтому они кодировали 128 символов в 1 байте (в основном 7 бит, поскольку начальный 1 бит предназначен только для сигнала).
2^7 = 128
Эта кодировка называлась ASCII (американский стандартный код для обмена информацией).
Пример ASCII:
A (Capital) имеет значение ASCII 65. Двоичное представление A: 1000001
Сейчас мы используем много символов, и многие страны вводят код на своем родном языке, отличном от английского, чем это возможно.
Юникод — это стандарт, который для удобства кодирует почти все символы, используемые в мире. UTF8 (8-битный формат преобразования Unicode), определенный стандартами Unicode, представляет собой кодировку символов, которая кодирует в общей сложности 1 112 064 символа.
UTF8 разработан Кеном Томпсоном и Робом Пайком, которые также являлись разработчиками языка программирования GO. Это ответ на вопрос, использует ли Golang кодировку UTF8.
UTF8 — это кодировка символов с переменной шириной, она использует от одного до четырех байтов для кодирования символа. UTF8 поддерживает ASCII, поскольку он обратно совместим. Поскольку символы ASCII занимают всего 7 бит или 1 байт для кодирования символа, ASCII занимает первое место в кодировке UTF8.
Другие символы занимают 2-4 байта для кодирования.
Символы занимают от 2 байтов для кодировки UTF8, первому биту предшествует столько единиц, сколько размер кодировки символов и в конце добавляется ноль. Пример.
После этого всем байтам предшествуют 10.
Подробнее узнать о кодировке UTF8 ты можешь по ссылке.
Деванагари (Хинди) Код UTF8
В последующих главах используются примеры на хинди, а также английские Unicodes.
Подробнее узнать о коде Devanagari UTF8 ты можешь по ссылке.