2016-10-17 3 views
-2

Я пытаюсь получить значение символа в ascii, а также символ в индексе.Swift: получение символа из строки (значение ascii)

У меня есть Objective-C любой из вас будет знать, что преобразование в swift?

po [strToSort characterAtIndex:i] // character x 
U+0078 u'x' 
po [strToSort UTF8String][i] 
x 

Я по-настоящему благодарю вашу помощь.

ответ

0

Если я правильно понял ваш вопрос правильно, вы хотите получить значение ASCII строки в определенном индексе:

let str = "x" as NSString 
let asciiVal = str.character(at: 0) 
print("String: \(str) ASCII: \(asciiVal)") // String: x ASCII: 120 
0

Обновлено: вы можете непосредственно подстрочный строку с Index

Swift Безразлично» t позволяет вам индексировать String с индексом Integer. Вместо этого вы можете создать индекс, чтобы пройти в.

let str = "String with some characters" 
let index = str.startIndex.advancedBy(5) 
let character = str[index] 
print(character) // "g" 

Для получения дополнительной информации о том, почему вы не можете рассматривать строки как прямую последовательность символов, вы можете найти более подробную информацию here.

По существу, чтобы быть правильно совместимым с юникодом, иногда несколько символов могут быть объединены для создания единственного символа в финальной строке. Это вызывает проблемы с наивным подсчетом и индексацией.

Если вы хотите представление utf8 строки, String предоставляет свойство utf8, а также свойство unicodeScalars для получения кодовой точки для каждого символа.

Смежные вопросы