Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmStUn 61 of 350 menu
◀ ▶

Юникод в Go

Юникод нумерует буквы разных письменностей одним общим списком. У каждой буквы есть номер, один и тот же в разных программах и файлах. Английская, русская и другие буквы живут в этом списке рядом, без отдельных таблиц для каждого языка.

Номер буквы в памяти хранят как последовательность байт. В Go строка как раз устроена так: это байты в формате UTF-8 (Unicode Transformation Format, 8-bit, формат преобразования Юникода, 8 бит). Обычная латинская буква часто занимает один байт, а буква вне латиницы может занять два или больше, хотя на экране это один символ.

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

Пока достаточно помнить: строка в Go хранит текст как байты UTF-8, а Юникод задает, какой символ стоит за этими байтами.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить