Определение символа 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 подход к простому получить кодовый пункт.

Другие вопросы по тегам