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

Введение в символы в Kotlin

Давайте теперь будем разбираться с одним символом.

Строка - это цепочка символов. Буквы в ней стоят друг за другом, и их может быть сколько угодно: ни одной, одна или много. Один символ - отдельное значение, а не строка из одной буквы. В него входит ровно одна буква, цифра, пробел или знак. Две буквы в одно такое значение не помещаются.

В Kotlin для одного символа есть отдельный тип Char. Это не строка String, даже если в строке всего одна буква.

Слово cat - это три символа. Текст "12" - два символа, цифра 1 и цифра 2, а не число двенадцать. Пробел между словами тоже символ: на экране его видно как пустое место, а в цепочке он занимает свое место наравне с буквой.

Обычная буква, английская или русская, занимает 2 байта, 16 бит. Это та самая единица UTF-16, которой в строке записана такая буква. В UTF-8 английская буква занимала 1 байт, а русская - 2. Внутри строки Kotlin обе занимают по 2 байта. Отдельный символ занимает столько же: это одна такая единица.

Шестнадцать бит дают 65536 разных комбинаций. Этого хватает на английские и русские буквы, цифры и обычные знаки. У каждой такой буквы один номер Юникода, и в символе хранится ровно она.

Редкий символ в эти комбинации не входит. Он занимает два таких значения, 4 байта. На экране это по-прежнему один значок, а в строке - две единицы UTF-16. В примерах этого раздела такие символы не используем.

Пять букв hello - это пять символов и 10 байт строки. Один символ из этой цепочки - по-прежнему 2 байта. Строка из одной буквы на экране выглядит так же, но остается цепочкой, только из одного звена.

Как записать один символ в программе, разберем в следующем уроке.

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