这是NSScanner的错误吗?

时间:2012-09-14 05:54:01

标签: ios ios5

代码段如下:

    unichar chars[] = {0x0030, 0x0031, 0x0032, 0x003B, 0x0E31};//the testString is "012;" plus a thai character
    NSString *testString = [[NSString alloc] initWithCharacters:chars length:5];
    NSLog(@"testString %@", testString);
    NSScanner *theScanner = [NSScanner scannerWithString:testString];
    NSString *result = nil;
    [theScanner scanUpToString:@";" intoString:&result];        
    //[theScanner scanUpToCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@";"]          intoString:&result];

    NSLog(@"the result is %@", result);

使用scanUpToString失败,但是,使用scanUpToCharactersFromSet工作。如果0x003B之后的字符不是0x0E31,例如0x0030,则两个api都可以工作。 所以我猜scanUpToString有一个处理某些字符的错误。 有没有人有更好的想法? 谢谢。

0 个答案:

没有答案