转来自: http://www.blogjava.net/jeff-lau/archive/2007/12/21/169257.html
中文排序 - 汉语拼音
摘要:中文一般都是按拼音来排序的。但Java中的String类是按Unicode编码存储数据的,因此,String类也是按Unicode编码的大小来排序的。Sun公司提供一个Collator类来重新按不同的规则对字符串排序,但Collator对中文的排序方式只是不严格的拼音排序法。Microsoft的Excel和Sql Server实现了按拼音排序的功能,就比Collator实现的好多了。那如何在Java中实现类似Microsoft的拼音排序的方式呢?
排序的方式主要有两种:一种是拼音,一种是笔画。本文就讲述如何实现这两种不同的比较器(Comparator)。
Unicode 编码中的汉字
Unicode中编码表分为两块,一个是基本的,一个是辅助的。现在的大多数操作系统还不支持Unicode中辅助区域中的文字,如WinXp。
在Java中的字符就是Unicode码表示的。对于Unicode基本区域中的文字,用两个字节的内存存储,用一个char表示,而辅助区域中的文字用4个字节存储,因此辅助区域中的就要用两个char来表示了(表一种蓝色底就是辅助区域中的文字)。一个文字的unicode编码,在Java中统一用codePoint(代码点)这个概念。
中文和日文、韩文一样是表意文字,在Unicode中,中日韩三国(东亚地区)的文字是统一编码的。CJK代表的就是中日韩。在这里,我把这3中文字,都作为汉字处理了。(日语和韩语可能就是从汉语中衍生的吧!)
GB2312编码
GB2312是中华人民共和国最早的计算机汉字编码方式。大概有6000多个汉字,这些汉字是按拼音顺序编码的。这6000多个汉字都是简体中文字。
GBK编码
GB2312的扩展,并兼容GB2312。扩展后的汉字大概有2万多个,其中有简体汉字也有繁体汉字。
相关推荐
汉字与汉语拼音对照表,可供他人后期处理,用于数据排序,通过汉字查找拼音,也可以作为编写输入发的部分资料。
通过所用的解析协议获取汉字汉语拼音首字母,可以用于通讯录中姓名的排序以及姓名的查询。
汉字转换成16进制对应的unicode编码,用于汉字拼音排序
如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确...
layui 改写 table 排序,填加中文按照拼音排序-附件资源
汉语拼音字库,包括多音字已经包含多音字,共计27731个汉字各行拼音对应汉字,已经按CHINESE_PRC进行前后排序尤其适合程序员将汉字自动生成拼音字母时使用
本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...
汉语拼音按照26个字母顺序排序,对应全简体汉字列表。UTF-8编码,经过严格纠错和程序测试。可用于数据挖掘,搜索引擎,TTS等领域。
Android中英文混合排序,中文的拼音与英文字符串比较后排序
为普通数组和对象数组排序,对象数组排序时,可指定排序所依据的对象属性,汉字将以汉语拼音为序。
世界各国和地区名称代码世界各国和地区名称代码表(按国家和地区名称的汉语拼音注音次序排列)中文及英文简称两字符代码三字符代码 数字代码中文及英文全称阿尔巴尼亚阿尔
选取总字数达1200多万的各类网络文献为语料,采用多音字取常用读音和多音字细化处理两种统计方式对语料的汉语拼音字母进行统计,通过对两种统计结果进行对比分析,得出多音字对汉字拼音字母统计影响很小这一结论.
汉字字模点阵数据批量生成工具支持 1024x1024以内的任意点阵汉字支持 所有Windows汉字字体设置支持 汉字大小调整 支持 汉字位置调整 支持 单个汉字字模生成 支持 海量汉字批量字模生成 支持 按汉语拼音排序 支持 ...
这些汉字可以根据其汉语拼音的规则进行排序,然后预先存放到字符串数组中,这样每个汉字就对应着一个数组下标,只要对数组下标进行排序就可以实现对汉字的排序了。在对车牌号进行查找时,先对车牌号进行排序,然后将...
主要介绍了简单的php中文转拼音的实现代码,需要的朋友可以参考下
toPinyinuniapp 文字汉字一键转拼音,转简写,转首字母封装了下使用方法,原作者: 1、引入jsimport toPinyin from "./toPinyin"2、转拼音toPinyin.chineseToPinYin('你好')输出NiHao3、转首字母toPinyin....
本电子书采用FALSH制作,全书分为两个部分:第一部分为编码规则,第二部分为按拼音...全书收入了7000个通用汉字,按照汉语拼音排序,方便谷友们快速地查找到汉字的编码,帮助谷友们解决使用汉谷拼形输入所遇到的问题。
中文汉语拼音转化(demo实现了首字符转换),例如:中国人民解放军 zgrmjfj
本电子书采用FALSH制作,全书分为两个部分:第一部分为编码规则,第二部分为按拼音...全书收入了7000个通用汉字,按照汉语拼音排序,方便谷友们快速地查找到汉字的编码,帮助谷友们解决使用汉谷快速输入所遇到的问题。