首页 > 编程知识 正文

怎么把表格的名字按拼音排序,怎么取消按拼音排序

时间:2023-05-06 03:05:27 阅读:145023 作者:1803

按照汉语拼音排序,很多人都想在《拼音词典》的相关库中实现。 在github上搜索拼音,库确实很多,但实现成本有点高。 搜索拼音排序还在。 我简单地看了一下,实现方法有很多种。

今天分享拼音顺序的小技巧。 虽然与语言无关,但用PHP实现最简单,所以用PHP演示。

$province_arr=[ '山东'、'山西'、'安徽'、'北京'、'福建'、'甘肃'、'广东'、'贵州' ];

usort($province_arr,function ) $a,$b ) {

$a=iconv('utf-8 ',' GBK//IGNORE ',$a );

$b=iconv('utf-8 ',' GBK//IGNORE ',$b );

返回$ a $ b? 1:-1;

);

print_r($province_arr;

/*结果如下

阿拉伊

[0]=安徽

[1]=北京

[2]=福建

[3]=甘肃

[4]=广东

[5]=贵州

[6]=山东

[7]=山西

*/

如果不计算闭包函数,就可以通过一行代码实现“拼音排序汉字”功能。 当然,此代码具有数组中每行的数据运行两次iconv () )函数的缺点。 这个可以优化。 另一个是扩展性不足,遇到以英语开头的字符串时需要特别处理。 除此之外还有相当用力的方法。 我来说明他的排名原理。

GBK代码是GB2312代码的扩展,因此与GB2312-80标准完全兼容。 GBK编码仍然采用2字节编码方案,其编码范围为8140-FEFE,除xx7F编码比特之外,总共23940个编码比特。 收录汉字和图形符号21886个,其中汉字(包括部首和构件) 21003个,图形符号883个。 GBK代码支持国际标准ISO/IEC10646-1和国家标准GB13000-1的所有中日韩汉字,并包含BIG5代码的所有汉字。 GBK编码方案于1995年12月15日正式发布,该版本的GBK规范为1.0版。 更新介绍

上面的段落是GBK代码的概要,但是认真看一下GBK代码的介绍就会发现很有趣。

GBK码汉字区域如下。

a. GB 2312汉字区。 即GBK/2: B0A1-F7FE。 收录GB 2312个汉字6763个,按原来的顺序排列。

b .扩充b. GB 13000.1汉字区。 包括以下内容:

GBK/3: 8140-A0FE。 GB 13000.1中收录的CJK汉字为6080个字符。

GBK/4: AA40-FEA0。 收录了CJK汉字和追加汉字8160个。 CJK汉字在前面,按UCS码大小排列; 在补充的汉字(包括部首和部件)之后,按《康熙字典》的页码/字位排列。

由于GBK码的两次扩展是基于拼音的代码排序,因此发现整个GBK汉字区的中文符号都带有拼音权重。 所以这个权重可以很容易地实现“拼音排序汉字”的功能。

此外,GBK代码可以轻松地在Java、JS和Golang中实现拼音排序功能,而与编程语言无关。

更多相关文章来自我的博客-原文链接:中文拼音顺序小技巧

疑问加站长微信联系(本论文作者以外) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。