根据网上C#版和JAVA版改的。代码很短,但有些复杂的汉字取不了拼音,如“鑫”等。适用一般不是很复杂的情况。

如要更完整的版本,可以使用这个开源的pinyin4j组件。package com.since2006.commons;

import java.io.UnsupportedEncodingException;

/**

* Created by IntelliJ IDEA.

* User: Hex

* Date: 2009-1-15

* Time: 12:47:24

*/

public class GB2Alpha {

private static final int[] AREA_CODE = new int[]{

45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062,

49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698,

52698, 52980, 53689, 54481

};

public static String getFirstAlpha(String text) {

if (text == null || "".equals(text)) {

return "";

}

StringBuffer sb = new StringBuffer();

for (int i = 0; i < text.length(); i++) {

sb.append(getAlpha(text.substring(i, i + 1)));

}

return sb.toString();

}

private static String getAlpha(String character) {

byte[] bytes;

try {

bytes = character.getBytes("GBK");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

return character;

}

if (bytes.length < 2) {

return character;

}

int area = (short) bytes[0];

int pos = (short) bytes[1];

int code = (area << 8 & 0xff00) + (pos & 0xff);

for (int i = 0; i < 26; i++) {

int max = 55290;

if (i != 25) {

max = AREA_CODE[i + 1];

}

if (AREA_CODE[i] <= code && code < max) {

return new String(new byte[]{(byte) (65 + i)});

}

}

return character;

}

public static void main(String[] args) {

System.out.println(getFirstAlpha("你好"));

}

}

java获取汉字的拼音首字母_Java获取汉字拼音首字母相关推荐

  1. java获取汉字的拼音首字母_java获取汉字的拼音首字母

    import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @dat ...

  2. java汉字的拼音首字母_Java 获取汉字的拼音首字母

    Java 获取汉字的拼音首字母: pom.xml 引用 pinyin4j 包: com.belerweb pinyin4j 2.5.0 PinyinUtil 类: package com.xxx.co ...

  3. java 汉字 字母_JAVA获取中文汉字字符串拼音首字母,英文字符不变的工具类

    java在处理项目需求时,有时需要排序,尤其是中文名字按0-9,A-Z进行首字母排序,这时候就需要首先要得到中文字符串的首字母,然后按照字母顺序进行排序,不多说,直接上代码,看java如何获取中文字符 ...

  4. java将汉字转成拼音首字母大写字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  5. java 中文转首字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  6. java中文名转成大写字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  7. java取字符串首字母_java 获取中文字符的首字母

    原理: GB2312编码中的中文是按照拼音排序的 注意: 一些生僻的字无法获得正确的首字母,原因是这些字都是后加入的. import java.io.UnsupportedEncodingExcept ...

  8. java获取首字母_Java 获取中文首字母的方法

    获取一个字符串的首字母是中文排序以及按照字母搜索的基础,一下是实现一个字符串转换为每个汉字首字母的字符串 //根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 public String get ...

  9. java相同字符截取第n次_Java 获取字符串中第N次出现的字符位置

    public static int getCharacterPosition(String string){ //这里是获取"/"符号的位置 Matcher slashMatche ...

  10. java验证字符是否为字母_Java程序检查字符是否为字母

    Java程序检查字符是否为字母 在此程序中,您将学习检查给定字符是否为字母.这是使用Java中的if...else语句或三元运算符完成的. 示例1:使用if...else语句检查字母的Java程序 p ...

最新文章

  1. 关于char(M)和varchar(N)的区别
  2. 2019“编程的夏天”完美收官!这些00后点燃了这个盛夏
  3. CSS 编码中超级有用的工具集合
  4. Wget CVE-2014-4877:FTP 符号链接任意文件系统访问
  5. 迎接.NET 6,《dotnet+Linux中文手册》完整PDF开放下载!
  6. ABP vNext 审计日志获取真实客户端IP
  7. 记一次打包的诡异现象
  8. 空难生还几率这么低,飞机上为什么不配备降落伞???
  9. delimiter在mysql中的作用_细细研究MySql中delimiter起到的作用_MySQL
  10. (转) 学习淘淘商城第一课
  11. 浙江师范大学c语言函数实验答案,浙江师范大学《C语言程序设计》考试卷
  12. nodejs cluster_NodeJS下好用的Redis客户端ioredis,再推荐一个Redis可视化工具
  13. php oracle 8.1.7,Oracle 8.1.7在redhat 7.3的安装方法
  14. matplotlib库使用
  15. 【零基础 快速学Java】韩顺平 笔记整理(到p170 跑路了)
  16. Guice集成Properties配置
  17. Vue中的动态加载组件
  18. 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
  19. 不要嫌我啰嗦~继续话痨python
  20. opencv图像识别训练实例

热门文章

  1. python是什么职业_Python是个什么鬼?为什么那么多工作“会Python优先”?
  2. 【无关技术】本科毕业设计的一些记录
  3. Oracle笔记(六) 多表查询、统计函数及分组查询、子查询
  4. promethues+alertmanager+grafana监控mysql和报警—详细文档
  5. django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md
  6. Arduino超声波测距模块控制蜂鸣器
  7. php5.6 对 php5.3 的 mcrypt_cbc的替换方法
  8. EA对勒索无动于衷,黑客曝光全部数据!
  9. linux引导和启动程序
  10. 两位程序员 + 60天 = 玩到停不下来的H5游戏!