我在NSString
比较时遇到问题。:localizedCaseInsensitiveCompare
或任何其他compare
: 方法NSString
使用扩展的 ascii 字符集向我返回错误的结果。例如下面的代码,经过比较,noString
应该在enString1
.
任何想法,我该如何解决这个问题?
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æ" 返回降序,为什么?“aø”也一样。