转来自: 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万多个,其中有简体汉字也有繁体汉字。
相关推荐
在JavaScript中,对中文汉字进行拼音排序是一项常见的需求,特别是在数据处理和用户界面展示时。以下将详细介绍如何使用JS实现中文汉字按拼音排序,并提供相关的操作技巧。 首先,JavaScript提供了`Array.prototype...
汉字与汉语拼音对照表,可供他人后期处理,用于数据排序,通过汉字查找拼音,也可以作为编写输入发的部分资料。
汉字是中文的表意字符,每个汉字都有一个或多个对应的汉语拼音,这是基于拉丁字母的表示方式,用于读音。Unicode 是一种字符编码标准,包含了大量汉字,其中0x4e00到0x9fc0的范围主要涵盖了基本多文种平面(BMP)中...
汉字转换成16进制对应的unicode编码,用于汉字拼音排序
总的来说,获取汉字汉语拼音首字母是中文信息处理中的一个重要环节,涉及字符编码、字符串操作、拼音转换算法等多个方面,对于提升用户体验和提高系统性能具有重要意义。`pinyin.c`和`pinyin.h`文件提供了一个可能的...
这个“中文版汉字转汉语拼音”项目显然提供了这样的功能,它可能是一个JavaScript库,通过分析给定的文件`wordspell.js`来实现汉字到拼音的转换。 在JavaScript中,实现汉字转拼音的功能通常涉及到以下几个关键知识...
这份资料主要针对的是汉语拼音的学习和复习,涵盖了拼音字母的大写和小写、字母排序、字母连线、字母对应以及查字典的基础知识。以下是对各部分知识点的详细说明: 一、字母大小写的转换: 题目要求写出小写字母...
这份文件是一系列汉语拼音练习卷,供一年级学生使用。汉语拼音是汉语的拼音文字系统,它使用拉丁字母和一些附加符号来代表...学习汉语拼音对于初学汉语的学生来说至关重要,它是学习汉字的发音和进一步学习中文的基础。
这涉及到汉字到拼音的转换技术,即汉语拼音转换。许多电子表格软件内置了这项功能,可以直接对汉字列进行拼音排序。例如,Excel的"数据"菜单中就有"排序"选项,可以选择“自定义排序”,然后在“列”选项中选择需要...
"C#汉字转拼音(npinyin)"是一个C#库,它提供了一个方便的方式来将汉字转换为对应的汉语拼音。"npinyin"库能够帮助开发者实现以下功能: 1. **全拼转换**:该库可以将每个汉字转换为其完整的拼音,包括声母、韵母和...
汉字转拼音是将汉字转换为其对应的汉语拼音的过程,这是中文信息处理的基础之一。在Python中,有一个名为`pypinyin`的库可以实现这个功能。`pypinyin`库支持简体和繁体汉字的转换,能够输出各种拼音格式,包括普通...
这一功能在多种场景下都非常实用,比如在开发支持中文环境的应用程序时,进行中文姓名的拼音排序、搜索或输入法辅助等。本文将详细解释该函数的工作原理、关键变量的作用以及具体的算法逻辑,以便于理解与复用。 ##...
拼音排序是处理中文数据时常用的一种方法,特别是在需要按照汉语拼音字母顺序对姓名、地名或其他基于汉字的数据进行排序时。易语言提供了相应的函数来实现这一功能,这些函数包括取文本长度、取文本中间、取文本左边...
这篇文档是一个收录了大量汉字并按照汉语拼音排序的资源。它可能是为了方便用户查找、学习或研究汉字而编纂的。拼音排序使得查找特定汉字变得简单,尤其对语言学习者、教师或是进行汉字编码工作的人员来说非常有用。...
汉语拼音是学习中文的基础工具,尤其对于非母语者来说,它是掌握中文发音的重要途径。本课件《汉语拼音1_a_o_e》专注于教授最基础的三个声母——a、o、e。这些音素是汉语拼音体系中的基本元素,为后续的声母、韵母和...
在iOS开发中,拼音排序是一项常见的需求,尤其是在处理中文数据并需要按照汉字的拼音首字母进行展示时。本文将深入探讨如何在iOS应用中实现拼音排序,并提供相关的代码示例和资源。 首先,我们需要理解汉字与拼音...
音序表包括26个大写字母:Aa到Zz,这对于查找汉字或者拼音排序非常有用。 此外,文档还强调了韵母表,这是汉语拼音的另一部分,包括基本元音和复韵母。韵母可以在音节中单独存在,也可以与声母组合,形成完整的音节...
【我国汉字大全-拼音排序】这个文档主要是一个包含大量汉字并按照汉语拼音顺序排列的资源。这份文档对于学习、研究汉字或进行汉字教学具有很高的参考价值。它涵盖了从A到Z的各种汉字拼音首字母的汉字,包括单音节词...
例如,通过拼音排序,我们可以看到汉字的音韵变化;而部首笔画排序则揭示了汉字的形体规律。在教学、研究或开发汉字输入法、搜索引擎时,这样的资源尤为实用。 总的来说,国标一级汉字和二级汉字的列表是学习汉字、...