Skip to content

Пакет Golang UTF8 EncodeRune

Функция EncodeRune принимает массив байтов и руну и кодирует их в кодировку UTF8.

Пример:

Пришло время поработать с кодом!

Результат:

Объяснение:

Символ хинди ' ' (DEVANAGARI LETTER KA) в кодировке UTF8 занимает 3 байта. Вывод возвращает количество занимаемых байт символами. Давай углубимся в двоичный код и узнаем, как символ кодируется в UTF8.

Двоичный код 224:

Двоичный код 164:

Двоичный код 149:

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