设为首页 加入收藏

TOP

提取汉字拼音首字母(Java版)
2014-11-23 20:20:34 】 浏览:8488
Tags:提取 汉字 拼音 字母 Java

  package info.gnuhpc;


  /**


  * @date 2010-1-22


  * @bugs 不支持多音字处理


  */


  public class PinyinConv {


  // 简体中文的编码范围从B0A1(45217)一直到F7FE(63486)


  private static int BEGIN = 45217;


  private static int END = 63486;


  // 按照声 母表示,这个表是在GB2312中的出现的第一个汉字,也就是说“啊”是代表首字母a的第一个汉字。


  // i, u, v都不做声母, 自定规则跟随前面的字母


  private static char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈',


  '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌',


  '塌', '挖', '昔', '压', '匝', };


  // 二十六个字母区间对应二十七个端点


  // GB2312码汉字区间十进制表示


  private static int[] table = new int[27];


  // 对应首字母区间表


  private static char[] initialtable = { 'a', 'b', 'c', 'd', 'e', 'f', 'g',


  'h', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',


  't', 't', 'w', 'x', 'y', 'z', };


  // 初始化


  static {


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


  table[i] = gbValue(chartable[i]);// 得到GB2312码的首字母区间端点表,十进制。


  }


  table[26] = END;// 区间表结尾


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hibernate一对多关系的处理 下一篇Hibernate批量更新与删除实例浅析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目