`
xcy13638760
  • 浏览: 52719 次
社区版块
存档分类
最新评论

获取汉字的拼音码(工具类)

 
阅读更多

项目正好用到要获取汉字的拼音码,从网上搜索到的一个工具类。


  1. packagecom.util;
  2. importjava.io.UnsupportedEncodingException;
  3. publicclassPinyinUtil{
  4. staticfinalintGB_SP_DIFF=160;
  5. //存放国标一级汉字不同读音的起始区位码
  6. staticfinalint[]secPosValueList={1601,1637,1833,2078,2274,2302,
  7. 2433,2594,2787,3106,3212,3472,3635,3722,3730,3858,4027,
  8. 4086,4390,4558,4684,4925,5249,5600};
  9. //存放国标一级汉字不同读音的起始区位码对应读音
  10. staticfinalchar[]firstLetter={'a','b','c','d','e','f','g','h',
  11. 'j','k','l','m','n','o','p','q','r','s','t','w','x',
  12. 'y','z'};
  13. /**
  14. *获取一个字符串的拼音码
  15. *@paramoriStr
  16. *@return
  17. */
  18. publicstaticStringgetFirstLetter(StringoriStr){
  19. Stringstr=oriStr.toLowerCase();
  20. StringBufferbuffer=newStringBuffer();
  21. charch;
  22. char[]temp;
  23. for(inti=0;i<str.length();i++){//依次处理str中每个字符
  24. ch=str.charAt(i);
  25. temp=newchar[]{ch};
  26. byte[]uniCode=newString(temp).getBytes();
  27. if(uniCode[0]<128&&uniCode[0]>0){//非汉字
  28. buffer.append(temp);
  29. }else{
  30. buffer.append(convert(uniCode));
  31. }
  32. }
  33. returnbuffer.toString();
  34. }
  35. /**
  36. *获取一个汉字的拼音码
  37. *@paramch
  38. *@return
  39. */
  40. publicstaticCharactergetFirstLetter(charch){
  41. //过滤英文字母
  42. if((ch>='a'&&ch<='z')){
  43. returnch;
  44. }elseif(ch>='A'&&ch<='Z'){
  45. return(char)(ch+32);
  46. }
  47. byte[]uniCode=null;
  48. try{
  49. uniCode=String.valueOf(ch).getBytes("GBK");
  50. }catch(UnsupportedEncodingExceptione){
  51. e.printStackTrace();
  52. returnnull;
  53. }
  54. if(uniCode[0]<128&&uniCode[0]>0){//非汉字
  55. return'#';
  56. }else{
  57. returnconvert(uniCode);
  58. }
  59. }
  60. /**
  61. *获取一个汉字的拼音首字母。GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码
  62. *例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43
  63. *0x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’
  64. */
  65. staticcharconvert(byte[]bytes){
  66. charresult='-';
  67. intsecPosValue=0;
  68. inti;
  69. for(i=0;i<bytes.length;i++){
  70. bytes[i]-=GB_SP_DIFF;
  71. }
  72. secPosValue=bytes[0]*100+bytes[1];
  73. for(i=0;i<23;i++){
  74. if(secPosValue>=secPosValueList[i]
  75. &&secPosValue<secPosValueList[i+1]){
  76. result=firstLetter[i];
  77. break;
  78. }
  79. }
  80. returnresult;
  81. }
  82. }


注:由于作者不是是谁,所以此文没注名出处!


分享到:
评论

相关推荐

    获取汉字拼音码首字母的工具类

    ### 获取汉字拼音码首字母的工具类:深入解析与应用 #### 核心知识点概览 在本篇文章中,我们将详细探讨一个专门用于提取汉字拼音首字母的Java工具类——`StringUtil`。此工具类的核心功能是将输入的字符串中的每...

    安卓获取汉字拼音首字母工具类封装

    "安卓获取汉字拼音首字母工具类封装"就是一个这样的解决方案,它提供了一种便捷的方式来处理汉字与拼音之间的转换,以适配与IndexBar-master这种通讯录开源控件的配合使用。 首先,我们要理解工具类在编程中的作用...

    获取汉字的拼音

    标题“获取汉字的拼音”所指的是一种技术或类库,它能帮助开发者实现这个功能。描述中提到,这是一个类库,只需要将其集成到自己的程序中,就可以自动获取汉字的拼音,并且提供了详细的使用说明。 “汉字转换成拼音...

    oracle获取汉字拼音和拼音首字母的功能函数

    总的来说,Oracle中获取汉字拼音和拼音首字母涉及了字符编码、Java编程、自定义函数、第三方工具等多个方面。开发者可以根据具体的需求和环境,选择合适的方法来实现这一功能。在处理过程中,要注意字符集的兼容性、...

    java中根据汉字字符串获取拼音首字母工具类

    java中根据汉字字符串获取拼音首字母工具类

    C#获取五笔码和拼音码

    本篇文章将深入探讨如何在C#环境下获取汉字的五笔码和拼音码。 首先,五笔码是基于五笔字型编码方案的一种汉字编码方式,由四个或五个基本笔画组成,如“王”字的五笔码为“wng”,“大”字的五笔码为“vty”。五笔...

    C#获取汉字拼音首字母

    本文将深入探讨如何使用C#获取汉字拼音首字母这一知识点,不仅会解析给定代码片段的意义,还会扩展讲解相关的理论背景和技术实现。 ### C#获取汉字拼音首字母的原理 在计算机科学中,汉字的编码通常使用Unicode...

    C#实现汉字拼音获取类

    C#中可以使用开源库如Pinyin4net或自定义算法来获取汉字的拼音。自定义算法通常基于汉字的字典数据,通过查找对应关系来转换。 "PinYin.cs"文件很可能是实现了这个汉字转拼音功能的核心代码。在这个类中,可能会...

    汉字转拼音常用的工具类

    首先,`PinYinUtil.java`是一个自定义的汉字转拼音工具类,通常由开发者根据实际需求编写。这个类可能包含了各种转换方法,例如将单个汉字转化为拼音,或者将整段中文文本转化为拼音字符串。其中,核心方法可能包括`...

    java 取汉字拼音工具包

    Java中的汉字拼音工具包主要服务于程序开发,尤其是前端开发,用于处理汉字与拼音之间的转换,这对于构建具有中文支持的应用或网站至关重要。这类工具包能够帮助开发者轻松地将汉字转换为对应的拼音,便于进行搜索、...

    Java,获取汉字拼音、部首、笔画、笔画数目源文件、源码

    Java中,可以使用开源库,如Pinyin4j,来获取汉字的拼音。Pinyin4j提供了API,能够将单个汉字转换为对应的拼音,支持声母、韵母和声调。 对于部首,这是汉字结构分析的一部分。部首是汉字的基本构造单元,通常用于...

    C# 汉字转全拼音工具类

    ### C# 汉字转全拼音工具类详解 #### 一、概述 在软件开发过程中,有时我们需要处理中文字符并将其转换为拼音形式。这种需求常见于输入法软件、语音识别系统、文本分析工具等领域。C# 提供了多种方式来实现汉字到...

    oracle获取汉字拼音首字母

    在Oracle数据库中实现获取汉字拼音首字母的需求,通常涉及到对中文字符的处理以及拼音转换的技术。这样的功能可以应用于多种场景,例如数据排序、索引建立或是快速检索等。本文将详细介绍如何在Oracle环境中实现这一...

    Android获取字符串拼音工具类

    ccs2Pinyin : 汉字转拼音 ccs2Pinyin : 汉字转拼音 getPinyinFirstLetter : 获取第一个汉字首字母 getPinyinFirstLetters: 获取所有汉字的首字母 getSurnamePinyin : 根据名字获取姓氏的拼音 getSurnameFirstLetter:...

    拼音工具类(汉字转拼音)

    这个“拼音工具类(汉字转拼音)”就是一个专门解决此类问题的实用工具,它提供了将汉字转换为拼音的能力。下面我们将详细探讨这个工具类的实现原理和相关知识点。 首先,我们要明白汉字转拼音的基本概念。汉字转拼音...

    汉字转拼音(包含首字母)工具类

    在Java编程语言中,开发一个汉字转拼音(包含首字母)的工具类是一项常见的任务,尤其是在处理中文字符串、搜索引擎优化(SEO)或者构建用户友好的URL时。这个工具类可以帮助程序将汉字转换为对应的拼音表示,同时...

    pinyin4j拼音码获取

    这个工具包使得开发者能够轻松地获取汉字的拼音码,极大地提高了开发效率。 “pinyin4j拼音码获取”这一主题,主要涵盖了以下几个核心知识点: 1. **汉字转拼音**:pinyin4j的核心功能是将汉字转换为其对应的拼音...

    汉字拼音码五笔码首字母自动生成类

    本项目提供的"汉字拼音码五笔码首字母自动生成类"是一个高效实用的工具,旨在帮助开发者快速实现对汉字的拼音码和五笔码的查询功能。下面将详细解释这个类的工作原理、使用场景以及涉及的相关技术。 首先,我们要...

    C#案例:自动获取汉字拼音首字母

    本文将深入探讨一个C#案例,即“自动获取汉字拼音首字母”的功能实现。这个功能在很多应用场景中都非常有用,例如搜索引擎优化(SEO)、中文信息处理或者用户输入的简拼匹配等。 在C#中,实现这一功能需要利用到...

    java汉字转拼音工具类

    Java中的汉字转拼音工具类主要用于将汉字转换为其对应的汉语拼音,尤其在处理中文数据时非常有用,例如在生成英文URL、关键词分析或者搜索索引时。这类工具通常基于开源库,如Pinyin4j,HanyuPinyin,或者自定义实现...

Global site tag (gtag.js) - Google Analytics