Попытки сравнить строку: BOOL r = [res isEqualToString:[@"\x124Vx\xc3\xaa"]];
ошибка: шестигранная последовательность выхода из диапазона
Однако я получил
error: hex escape sequence out of range
Я попробовал также что-то вроде:
NSString *s = [@"\x12" stringByAppendingString: @"4Vx\xc3\xaa"];
BOOL r = [res isEqualToString:s];
Теперь он мог работа и возврат YES
Как я могу указать такая строка и избегать их расщепления в первую очередь? Это вид раздражает ...
UPDATE: Я использую @ код rmaddy, и он работает в настоящее время, однако, если я ставлю его в массиве как:
NSArray *answers = @[
@"",
@"#",
@"\x12""4Vx\xc3\xaa",
]
Он будет генерировать предупреждение для последняя строка символов:
Concatenated NSString literal for an NSArray expression - possibly missing a comma How to get rid of it?
Использование
NSString *s = @"\x12""4Vx\xc3\xaa";
NSArray *arr = @[s];
Может работать, но я предпочитаю не писать больше NSString * s ... для этого.
Related: Http: // StackOverflow. ком/вопросы/5784969/когда-так-с-компиляторы-запуск с учетом-более-чем-два-гекс-цифры-в-струнной-лайт. –