Pinyin4j新手教程

pinyin4j是一个支持将简体和繁体中文转换到成拼音的Java开源类库,作者是Li Min (xmlerlimin@gmail.com)。

下面是一些详细的介绍和使用方式。

1.       pinyin4j的官方下载地址http://sourceforge.net/projects/pinyin4j/files/,眼下最新的版本号是2.5.0

2.       下载解压后的文件夹结构及说明例如以下

(1)     doc : pinyin4j的api文档

(2)     lib : pinyin4j的jar包

(3)     src : pinyin4j的源码

(4)     CHANGELOG.txt : pinyin4j的版本号更新日志

(5)     COPYING.txt : LICENSE说明

(6)     README.txt : pinyin4j的概要介绍

3.       执行GUI demo

命令行运行cd ${pinyin-install-dir}/lib,进入到pinyin4j-2.5.0.jar所在的文件夹,敲入java -jar pinyin4j-2.5.0.jar运行,GUI界面例如以下:

上图是输入汉字“中”,运行Convert to Pinyin后的截图。Format后有三个下拉框。第一个下拉框有三个选项,用来控制生成的拼音声调的显示方式,三个方式及其效果例如以下(以汉字“中”,选中Formatted hanyu Pinyin选项卡測试):

WITH_TONE_NUMBER(以数字取代声调) :  zhong1  zhong4

WITHOUT_TONE (无声调) :                           zhong   zhong

WITH_TONE_MARK (有声调) :                      zhōng  zhòng

第二个下拉框是碰到unicode 的ü 、v 和 u时的显示方式。共同拥有三个方式。 下面是以声调为WITH_TONE_NUMBER方式显示汉字“吕”演示样例:

WITH_U_AND_COLON : lu:3

WITH_V :            lv3

WITH_U_UNICODE :    lü3

第三个下拉框是控制生成的拼音是以大写方式显示还是以小写方式显示,以汉字“国”示比例如以下:

LOWERCASE :guó

UPPERCASE :GUÓ

上图的汉字转化成拼音后。有六种显示方式,这是由于pinyin4j支持将汉字转化成六种拼音表示法。其相应关系是:汉语拼音-Hanyu
Pinyin,通用拼音-Tongyong Pinyin, 威妥玛拼音(威玛拼法)-Wade-Giles  Pinyin,注音符号第二式-MPSII
Pinyin, 耶鲁拼法-Yale Pinyin和国语罗马字-Gwoyeu Romatzyh。

4.  字符串转化成拼音Java代码演示样例

代码:

  1. ; i < input.length; i++) {
  2. ]);
  3. output.append(" ");
  4. } else
  5. output.append(Character.toString(input[i]));
  6. }
  7. } catch (BadHanyuPinyinOutputFormatCombination e) {
  8. e.printStackTrace();
  9. }
  10. return output.toString();
  11. }
  12. public static void main(String[] args) {
  13. String chs = "我是中国人! I'm Chinese!";
  14. System.out.println(chs);
  15. System.out.println(getPinYin(chs));
  16. }
  17. }

执行结果:我是中国人! I'm Chinese!

           wŏ shì zhōng guó rén ! I'm Chinese!

附件:

1.各种拼音说明

Yale Pinyin是在第二次世界大战期间由美国军方发明的编码系统,主要为了让在中国地区作战的美军士兵可以高速地熟悉汉语发音。可以向当地人请求帮助,可以说这是一个速成教材,它的目的甚至不是用来互相交流而是使士兵在发音时不会被中国人听错就行了。

年。又被通用拼音(Tongyong
Pinyin)代替,成为台湾今天正式的官方汉语音译编码体系。

世纪中叶由英国人威妥玛(Thomas Francis Wade)发明。后由翟理斯(Herbert
Allen Giles)完毕修订,并编入其所撰写的汉英字典。

參考资料:

1.       pinyin4j的官方资料

2.       汉语言的罗马化

http://icookies.spaces.live.com/blog/cns!2CC37E2F87FB3864!170.entry

3.       Wiki: 威妥瑪拼音(维基百科)

http://wapedia.mobi/zh/%E5%A8%81%E5%A6%A5%E7%8E%9B%E6%8B%BC%E9%9F%B3

pinyin4j新手教程的更多相关文章

  1. Web项目的发布新手教程

    ASP.NET服务器发布新手教程 ——本文仅赠予第一次做Web项目,需要发布的新手们,转载的请注明出处. 首先我们说一下我们的需要的一个环境.我使用的是Visual Studio 2010,版本.NE ...

  2. APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)

    正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...

  3. ROS探索总结(三)——ROS新手教程【转】

    转自:http://blog.csdn.net/hcx25909/article/details/8811313 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 一ROS的 ...

  4. 新手教程之使用Xib自定义UITableViewCell

    新手教程之使用Xib自定义UITableViewCell 前言 首先:什么是UITableView?看图 其次:什么是cell? 然后:为什么要自定cell,UITableView不是自带的有cell ...

  5. MATLAB新手教程

    MATLAB新手教程   .MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如 ...

  6. 【OpenCV十六新手教程】OpenCV角检测Harris角点检测

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...

  7. hibernate官方新手教程 (转载)

    hibernate官方新手教程第一部分 - 第一个Hibernate程序 首先我们将创建一个简单的控制台(console-based)Hibernate程序.我们使用内置数据库(in-memory d ...

  8. Groovy新手教程

    Groovy新手教程 kmyhy@126.com  2009-5-13 一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也执行在 JVM 中. 作为跑在JVM ...

  9. 苹果Swift编程语言新手教程【中国版】

    Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广 ...

随机推荐

  1. dom4j解析xml中指定元素下内容

    需求:XML为例如以下样式,如今我仅仅想取得timer以下的5000和60000. 解决的方法例如以下: <?xml version="1.0" encoding=" ...

  2. UVA11294-Wedding(2-SAT)

    option=com_onlinejudge&Itemid=8&page=show_problem&problem=2269">题目链接 题意:有n对夫妻參加一 ...

  3. WWDC2014开源

    A Cocoa OSX App to help you download WWDC2014 videos 地址:https://github.com/iosxtools/WWDC2014 版权声明:本 ...

  4. 关于苹果公司最新的语言Swift

    Swift供IOS和OSX新的编程语言开发的应用程序,吸取C和Objective-C质朴的语言.但没有损失C兼容性语言.Swift使用安全的编程模型.增加各种现代编程语言功能,使语言更容易掌握.更具可 ...

  5. javascript于&quot;return obj === void 0&quot;这样的书面理由和优势

    得知underscore.js什么时候,查看源代码经常出现的类别似下面的代码: if (context === void 0) return func; if (array == null) retu ...

  6. Servlet上传文件

    Servlet上传文件 1.准备工作 (1)利用FileUpload组件上传文件,须要到apache上下载commons-fileupload-1.3.1.jar 下载地址:http://common ...

  7. div+js 弹出层

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

  8. hdoj 2121 Ice_cream’s world II 【没有最低树的根节点】

    称号:pid=2121" target="_blank">hdoj 2121 Ice_cream's world II 题意:题目是一道躶题,给n个点,m条边的有向 ...

  9. c#基于这些,你已经看到了?(一)-----谁才刚刚开始学习使用

    1.注视(不要写的目光是流氓,从废话名盲人) '///'一般用于目光功能.凝视类. 2.热键 ctrl+k+d(有语法错误无法进行对齐) ctrl+j(高速弹出仅仅能提示) shift+end,shi ...

  10. Grant的时候报错的解决:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)

    mysql> grant all on *.* to 'root'@'192.168.1.1' identified by 'password'; ERROR 1045 (28000): Acc ...