Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : encoding, utf8, utf16

Что такое кодировки? Как хранятся эмодзи в строке?

Этот вопрос проверяет понимание кодировок символов и того, как эмодзи хранятся в строках Swift.

Короткий ответ

Кодировки определяют, как символы mapятся в байты. Эмодзи хранятся как последовательности code points в UTF-8 или UTF-16. Некоторые эмодзи состоят из нескольких code points (например, скин-тоны или комбинации).

Длинный ответ

Кодировки позволяют представлять текст в компьютере.

1. Кодировки:

  • UTF-8: Variable-length (1-4 bytes), совместим с ASCII.

  • UTF-16: Fixed-length 2 bytes для большинства символов.

  • Swift uses UTF-8 internally для эффективности.

2. Эмодзи:

  • Представляются как Unicode code points.

  • Например, "😊" is U+1F60A.

  • Составные эмодзи use multiple code points (например, "👨‍👩‍👧" состоит из нескольких).

Пример:

swift

let emoji = "😊"
print(emoji.unicodeScalars.count) // 1
let family = "👨‍👩‍👧"
print(family.unicodeScalars.count) // 5
  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    8

Навыки

  • Swift

    Swift

Ключевые слова

#encoding

#utf8

#utf16

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.