title: Is this NSScanner 's bug?
body: <p>The code snippet is as follows:</p>
  
  <pre><code>    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:&amp;result];        
      //[theScanner scanUpToCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@";"]          intoString:&amp;result];
  
      NSLog(@"the result is %@", result);
  </code></pre>
  
  <p>using scanUpToString failed, however, using scanUpToCharactersFromSet works. And if the character after 0x003B is not 0x0E31, for example ,0x0030, both api works.
  So I guess scanUpToString has a bug dealing with some characters.
  Does anyone has better ideas? 
  Thank you.        </p>