Определение символа ascii в NSString
В одном из моих UIView
классы, у меня есть UIKeyInput
протокол прилагается для сбора ввода от UIKeyboard
, Я пытаюсь выяснить, какой символ ascii используется при нажатии кнопки пробела (это не просто "это что-то еще, что появляется). Кто-нибудь знает, что это за символ asci или как я могу понять, какой код ascii используется?
2 ответа
Чтобы посмотреть значение для каждого символа, вы можете сделать что-то вроде этого:
NSString *text = ... // the text to examine
for (NSUInteger c = 0; c < text.length; c++) {
unichar char = [text characterAtIndex:c];
NSLog(@"char = %x", (int)char); // Log the hex value of the Unicode character
}
Обратите внимание, что этот код неправильно обрабатывает любые символы Юникода в диапазоне \U10000 и выше. Это включает в себя много (все?) Персонажей Emoji.
Если вам действительно нужно знать, какой это символ (или кодовая точка), используйте CFMutableString
функция CFStringTransform()
Это позволяет вам использовать аргумент преобразования kCFStringTransformToUnicodeName
например, чтобы получить удобочитаемое имя Unicode или Hex-Any
чтобы получить экранированный код Unicode.
В противном случае вы можете сделать unichar
подход к простому получить кодовый пункт.