Какая кодировка у CharSequence

«Какая кодировка у CharSequence» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CharSequence — это интерфейс, который не имеет конкретной кодировки. Он представляет последовательность символов, но кодировка зависит от реализации. Например:

  • String использует UTF-16 (каждый символ — 2 байта, но суррогатные пары могут занимать 4 байта для символов за пределами BMP).
  • SpannableString и StringBuilder также работают с UTF-16.
  • CharBuffer может использовать любую кодировку, заданную в Charset.

Пример:

val str: CharSequence = "Привет" // UTF-16
val builder = StringBuilder("Hello") // UTF-16