Objective-C学习——中文URL编码和解码
其原理是将中文字符解码,然后进行排序。参考代码:
NSComparator comparator = ^(NSString *obj1, NSString *obj2){
NSString *str1 = [obj1 stringByAddingPercentEscapesUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];
NSString *str2 = [obj2 stringByAddingPercentEscapesUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];
return [str1 compare:str2];
};
使用以上排序算法:
NSArray * arr = @[ @"通话",@"通只",@"a通话",@"b通只",@"你",@"人生",@"大海",@"春天里",@"里"];
NSArray * arr2 = [arr sortedArrayUsingComparator:comparator];
for (NSInteger a = 0; a < arr.count; a++) {
NSLog(@"%@__%@", arr[a], arr2[a]);
}
结果是:
通话__春天里
通只__大海
a通话__里
b通只__你
你__人生
人生__通话
大海__通只
春天里__a通话
里__b通只