我有问题NSString
比较。 localizedCaseInsensitiveCompare
或任何其他compare
:NSString
中的方法将错误的结果返回给我,并带有扩展ascii字符集。例如下面的代码,经过比较,noString
应该在enString1
之后。iPhone NSString比较具有扩展ASCII或拉丁语1 Unicode字符集
任何想法,我该如何解决问题?
NSString * noString = @"ÅåÆæØøab"; // ASCII values, 197, 229, 198, 230, 216, 248, 97, 98
NSString * enString1 = @"fbcd";
NSString * enString2 = @"bbcd";
NSString * enString3 = @"zbcd";
NSLog(@"%i", [enString1 localizedCaseInsensitiveCompare:enString2]); // 1
NSLog(@"%i", [enString1 localizedStandardCompare:noString]); // 1, should be -1
NSLog(@"%i", [enString1 localizedCaseInsensitiveCompare:noString]); // 1, should be -1
“aa”compareTo“aå”正在返回上升。那就对了。但是,
“aa”compareTo“aæ”正在返回降序,为什么? “ø”也一样。