Pinyin4j导读
Pinyin4j是Java中的拼音库,作者李民。
拼音这件事其实非常简单,无非是一种映射。但是拼音中包含的学问很多,很多前贤都研究过汉语拼音,提出了多种拼音方案。随着历史变迁,拼音的形式也在不断发生变化,所以设计一个拼音库就需要考虑到拼音的格式、拼音的体系。
一、拼音体系
1、GWOYEU_ROMATZYH
国语拼音起源于民国时期,制作者赵元任、林语堂。
2、HANYU_PINYIN
《汉语拼音方案》,是1958年第一届全国人民代表大会第五次会议正式批准公布的拉丁字母式的汉语拼音方案。但是实际落实到教学和普及使用则是1960年前后,当时有中国文字改革委员会发行的汉语拼音报,此后汉语拼音开始逐步取代了原来的汉字注音字母直至现在汉语拼音在我国的社会各个领域都占有极其重要的地位。
3、MPS2_PINYIN
Mandarin Phonetic Symbols 2 (MPS2) Pinyin system
4、通用拼音
通用拼音,是中国台湾地区的一种中文拉丁化拼音法。由“中央研究院民族学研究所”副研究员余伯泉在1998年发表,后经数次修正,于2000年由台湾教育主管部门宣布使用,并取代原定改用的国语注音符号第二式,台湾当局政府自2002年起全面推行以通用拼音为基础的统一译音政策,但并未强制要求使用。2008年9月,中国台湾地区确定中文译音政策将由“通用拼音”改为采用“汉语拼音”,涉及中文英译的部分,都将要求采用汉语拼音。通用拼音有个略去 f 而使用 v(注音符号:万)的音标版,可能原先用于客家话,但实际上拼读国语时无用。
5、威氏拼音
WADEGILES_PINYIN
威妥玛式拼音法(Wade-Giles romanization)又称威妥玛-翟理斯式拼音,简称威氏拼音法 。
它是1867年开始的,由英国人威妥玛(Thomas Francis Wade 1818年—1895年,今天的习惯应该翻译成托玛斯·韦德)等人合编的注音规则,叫“威氏拼音”。
威妥玛曾于1871年任英国驻华公使,1883年回国。1888年起在剑桥大学任教授,讲授汉语,直至1895年逝世。他以罗马字母为汉字注音,创立威氏拼音法。后来H.A.Giles稍加修订,合称WG威氏拼音法(Wade-Giles System)。它的最大优点是利用送气符号(‘)来表示送气的声母。
6、耶鲁拼音
1943年初,美国一批新学员包括即将来华参加抗日战争的军人集中到美国耶鲁大学,进行短期训练,学习汉语。为了适应需要,由美国耶鲁大学远东语言研究所的肯尼迪负责拟订了一个拼写汉语的拉丁字母方案。这个方案主要用来编写汉语的口语教材,供学员做会话练习。
耶鲁方案的主要特点是﹕(1)以北京语音为标准音﹔(2)用b﹑d﹑g表示不送气清塞音﹐p﹑t﹑k表示送气清塞音﹐不再使用送气符号﹔(3)用y﹑w﹑yw表示介音﹐如tyan(天)﹑gwo(国)﹑jywe(觉)﹔(4)用r﹑z分别表示两个舌尖元音(即“知”﹑“资”后面的元音)﹔(5)用符号表示声调﹕第一声“–”﹐第二声“ˊ”﹐第三声“ˇ”﹐第四声“ˋ”﹔(6)实行按词分写。
二、拼音格式
1、大小写
拼音者,以少表多也。少的肯定是字母,多的肯定是中日韩三国文字。既然是字母,就要遵循人家用字母的规矩:区分大写小写。
如:大写 拼成 DAXIE还是daxie
2、音调类型
汉语是有音调的,如何表示音调?常见的有三种方法:忽略音调、使用后缀数字、使用带音调的字母
WITH_TONE_NUMBER da3
WITHOUT_TONE da
WITH_TONE_MARK dǎ
3、鱼
汉语拼音里面最奇葩的莫过于ü,这个字母是唯一的一个26个英语字母中没有的字符,它明明应该用v的,那样将会少掉无数争端。
还记得小时候神奇的歌谣:j、q、x三兄弟,和ü相遇把点吃。
如果用v表示ü,完全没有这么多冗余的规则。所以设计拼音的人有点脑残。
在pinyin4j中,ü被作为一种格式来专门讨论。表示方式有三种:u+冒号、v、ü。
WITH_U_AND_COLON u:
WITH_V v
WITH_U_UNICODE ü
在以上三种格式中,并非有2×3×3=18种拼音方式,因为这些格式之间会产生冲突。主要原因是鱼的两种表示法u+冒号、v跟音调类型中的WITH_TONE_MARK不兼容。
三、关于pinyin4j
pinyin4j已经很古老了,代码是放在sourceforge上的,maven仓库中都没有。另外,pinyin4j引用的xml解析库sparta-xml虽然据说很快,但是很小众。
有人把pinyin4j迁移到了github并放到了maven仓库中:https://github.com/belerweb/pinyin4j/
Pinyin4j导读的更多相关文章
- 通过pinyin4j.jar将(汉字拼音混合字符串)转化成字母首字母
通过pinyin4j.jar将(汉字拼音混合字符串)转化成字母首字母 例如 我的中国心 ==> wdzgx 我的中国心ya ==> wdzgxya woai我的中国 ==> w ...
- java-汉字转换拼音-pinyin4j.jar
使用pinyin4j将汉字转成拼音,附件为pinyin4j的jar包 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourcefo ...
- 汉字转拼音(pinyin4j)
1.引入依赖 <dependency> <groupId>pinyin4j.sourceforge.net</groupId> <artifactId> ...
- Effective C++ 之 0 导读(Introduction)
Effective C++ 导读 (Introduction) 术语(terminology) 声明式 (declaration) 是告诉编译器某个东西的名称和类型(type),但略去细节.以下都是声 ...
- 【转】java开源类库pinyin4j的使用
最近CMS系统为了增加查询的匹配率,需要增加拼音检索字段,在网上找到了pinyin4j的java开源类库,提供中文转汉语拼音(并且支持多音字), 呵呵,看了看他的demo,决定就用它了,因为我在实际使 ...
- cookie导读,理解什么是cookie
一.cookie导读,理解什么是cookie 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2. ...
- 利用PinYin4j 实现List中的对象按数字,字母, 汉字排序
要排序的对象: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPi ...
- MINIX3 导读分析
一个操作系统的分析是属于一个非常庞大的工程,操作系统就像是一个人造的 人,每一个模块想完全发挥功效,很有可能需要很多模块的支持才能够实现.所 以在分析 MINIX3 时,我认为同时看多个模块对于理解 ...
- pinyin4j
最近在倒腾与搜索相关的拼音检查技术,顺便看了一下中文转拼音开源插件pinyin4j的源码,参考资料:http://blog.csdn.net/hfhwfw/archive/2010/11/23/603 ...
随机推荐
- 网站设计之合理架构CSS
架构CSS 在当前浏览器普遍支持的前提下,css被我们赋予了前所未有的使命.然而依赖css越多,样式表文件就会变得越大越复杂.与此同时,文件维护和组织的考验也随之而来. (曾几何时)只要一个css文件 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- PhpExcel 删除默认的Sheet
最近使用ThinkPHP的第三方插件PheExcel导出多语言文件,但导出的文档中最后一个Sheet并不是我Code生成的 因为导出后的文件编辑后会再导入到系统中,因此对于该sheet必须删除掉[经测 ...
- 解决ThinkPHP的Create方法失效而没有提示错误信息的问题
ThinkPHP中的数据创建Create方法是一个非常有用的功能,它自动根据表单数据创建数据对象(在表字段很多的情况下尤其明显) 但有时候该方法可能并未按照你期望的来工作,比如方法不工作而且还没有提示 ...
- MongoDB server side Javascript 如何直接传入字符串?
MongoDB server side Javascript的介绍如下: https://docs.mongodb.com/v3.0/core/server-side-javascript/#runn ...
- Sublime Es6教程1-环境搭建
因为现在网上的教程都不靠谱,于是决定自己跳坑自己写,分为三块来玩: 一.环境搭建 二.语法讲解 三.项目实战 很多时候,你想搞一个东西,却因为环境没有搭建好,而不能很开森的探索未知的世界,多年的编程经 ...
- IIS 7启用static JSON文件能POST方法
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...
- php代码收集
thinkphp <?php class HekaAction extends BaseAction{ public function index(){ require_once './wang ...
- Rainmeter 一部分 语法 中文教程
;Meter基本元素示例:;如果是[MeterStyle]表示Meter的公共Style,类似CSS的意义!!!;颜色可以使用网页的颜色定义方式,如半透明黄色:255.255.0.128=FFFF00 ...
- 使用CSS3生成的电子时钟特效
在线演示 本地下载 突然觉得自己对带工作的态度亟需改正,虽然不喜欢现在的加班生活,但是自己要去接受自己不喜欢的,才能获得自己喜欢的. 这是自己好久之前丛过的一个时钟,网上应该有这个的教程,虽然实现的效 ...