Как получить код Unicode, представленный целым числом в Swift?

Итак, я знаю, как преобразовать String в формат utf8, подобный этому

for character in strings.utf8 {
     // for example A will converted to 65
     var utf8Value = character
}

Я уже читал руководство, но не могу найти, как преобразовать точку кода Unicode, представленную целым числом в String. Например: преобразование 65 в A. Я уже пытался использовать "\ u" + utf8Value, но все еще не удалось.

Есть ли способ сделать это?

Ответ 1

Если вы посмотрите на определение перечисления для Character, вы можете увидеть следующий инициализатор:

init(_ scalar: UnicodeScalar)

Если мы посмотрим на структуру UnicodeScalar, мы увидим этот инициализатор:

init(_ v: UInt32)

Мы можем объединить их, и мы получим целый символ

Character(UnicodeScalar(65))

и если мы хотим это в строке, это просто еще один инициализатор...

  1> String(Character(UnicodeScalar(65)))
$R1: String = "A"

Или (хотя я не могу понять, почему это работает) вы можете сделать

String(UnicodeScalar(65))