试图与字符串进行比较: BOOL r = [res isEqualToString:[@"x124Vxxc3xaa"]];
但是我得到了
错误:十六进制逃脱序列超出范围
我也尝试了类似的东西:
NSString *s = [@"x12" stringByAppendingString: @"4Vxxc3xaa"];
BOOL r = [res isEqualToString:s];
现在可以工作并返回YES
如何指定此类字符串并避免首先将它们分开?有点烦人...
更新:我使用 @rmaddy的代码,但是现在可以使用,如果我将其放在数组中,例如:
NSArray *answers = @[
@"",
@"#",
@"x12""4Vxxc3xaa",
]
它将为最后一个字符串产生警告:
串联的nsstring字面形式用于nsarray表达式 - 可能缺少逗号 如何摆脱它?
使用
NSString *s = @"x12""4Vxxc3xaa";
NSArray *arr = @[s];
可以工作,但我不想写更多的nsstring *s ...做。
:
的问题BOOL r = [res isEqualToString:@"x124Vxxc3xaa"];
与x124
部分。看来您只能在00
-ff
范围内具有HEX值。并注意沿字符串周围的 [ ]
删除。
如果您不希望4
被视为x
HEX号码的一部分,则可以这样做:
BOOL r = [res isEqualToString:@"x12""4Vxxc3xaa"];
两个双引号字符确保x
逃脱序列停止您需要的位置。
要在NSArray
中使用此类字符串时消除可能缺少逗号的新警告,您将需要使用较旧的语法来创建数组:
NSArray *answers = [NSArray arrayWithObjects:
@"",
@"#",
@"x12""4Vxxc3xaa",
nil
];