码迷,mamicode.com
首页 > 编程语言 > 详细

NSArray进行汉字排序

时间:2015-07-18 17:14:07      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:排序   nsarray打印汉字   object-c   

因为NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完成按A~Z的排序,这看起来是个头疼的问题,因为牵扯到汉字转为拼音,kmyhy给出一个较易实现的方法,获取汉字的首字的首字母,如将变成“W”.

 其中他通过pinyinFirstLetter函数获取中文拼音,函数原理是:“pinyinFirstLetter基于这么一个简单的原理:我们知道,在Objective C语言中,字符串是以unicode进行编码的。在unicode字符集中,汉字的编码范围为4E00 9FA5 之间(即从第19968开始的20902个字符是中文简体字符)。我们把这些字符的拼音首字母按照顺序都存放在一个char数组中。当我们查找一个汉字的拼音首字母时,只需把这个汉字的unicode码(即char强制转换为int)减去19968,然后用这个数字作为索引去找char数组中存放的字母即可。函数代码我也贴了过来。









</pre><pre name="code" class="objc">



版权声明:本文为博主原创文章,未经博主允许不得转载。

NSArray进行汉字排序

标签:排序   nsarray打印汉字   object-c   

原文地址:http://blog.csdn.net/judy_luo/article/details/46942407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!