中文【汉语拼音】排序
转来自: 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万多个,其中有简体汉字也有繁体汉字。
中文【汉语拼音】排序相关推荐
- java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序
java中List集合的元素是按照添加顺序排序的,我们在实际开发过程中,可能会遇到需要对其内容进行排序的场景,接下来对我遇到的场景所采用的解决方式做个总结. 一.业务场景 管理后台商户名称下拉列表,需 ...
- Java中文汉字排序
概述 我们在应用程序中可能会经常遇到对中文排序的问题,例如姓名列表,词汇表等等.对中文排序,我们使用比较多的是根据汉语拼音发音来确定顺序. 我们可能会经常使用 java.util.Set接口, jav ...
- Java对中文进行排序
一.Java排序 Java中类通常实现 Comparable接口或者 Comparator接口进行排序. 1.实现 Comparable接口 1)我们的类 实现 Comparable接口,重写 com ...
- Java数组中文排序_Java模块 -- 数组/集合中文汉字排序(支持生僻汉字)
这里举例List集合 , 对list中的中文进行排序 , 按照中文拼音首字母. 支持生僻汉字的话 , 需要使用一个jar包 , 链接地址如下 传统的 : List list = new ArrayLi ...
- 汉字转拼音,中文拼音排序器
汉字转拼音 NSMutableString *ms = [[NSMutableString alloc] initWithString:@"我是中国人"]; if (CFStrin ...
- db2 某个字段排序_MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序...
MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...
- TreeMap实现对中文的排序
import java.util.TreeMap;/*** @author silence* TreeMap实现对中文的排序* TreeMap会根据键排序,String实现了Comparable接口实 ...
- mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序.下面给出3种比较常用的排序方式,一起看看吧 MySQL常规排序.自定义排序和按中文拼音字母排 ...
- PostgreSQL的中文拼音排序
为什么80%的码农都做不了架构师?>>> 前一段时间开发人员咨询,说postgresql里面想根据一个字段做中文的拼音排序,但是不得其解.So,Take a Loooook. ...
- 按照拼音对数组中的中文字符串排序的算法
按照拼音对数组中的中文字符串排序的算法,不是很难,这里直接放上代码,Demo去最下面找: 注:里面用到一个叫George的牛人写的中文转拼音首字母的函数pinyinFirstLetter,因为内容实在 ...
最新文章
- 8大行业场景!最新 Apache Flink 行业案例集火热出炉
- c++ 查找 list中最长的字符串_查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答)...
- QScrollArea不能显示滚动条
- 8086标志操作指令
- 计算机桌面不来回变黑,电脑屏幕变小了左右黑几种解决方法
- 这是一台家庭计算机重启无效,我买了一台二手计算机,配置还可以,但有时会自动重启机器,这是为什? 爱问知识人...
- git学习指南_GIT 学习指南
- 两年时间,年薪从16到45,一个30岁程序猿的碎碎念
- 哪本最具影响力的书,是每个程序员都应该读的?
- 日志清理BAT脚本带输出日志
- DIM-00014: 无法打开windows nt服务控制管理器
- 多视几何009:对极几何
- GD32 汽车诊断协议J1850-PWM 测试
- 仓库温度湿度控制措施_仓库温湿度管理规定_仓库温湿度监测管理制度
- 微信小程序子组件向父组件传值的两个方法
- 碳中和背景下中国煤炭行业供需规模及投资战略研究分析报告2022-2028年版
- MySQL的进程状态
- OneNote for Windows 10 笔记丢失踩雷
- CSDN 创始人蒋涛:世界被编码之后
- nginx 禁止恶意域名解析