C# 汉字转拼音(支持GB2312字符集中所有汉字)


分区表示
GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
)-09区为特殊符号。
)-55区为一级汉字,按拼音排序。
)-87区为二级汉字,按部首/笔画排序。
)-15区及88-94区则未有编码。
也就是说二级汉字与拼音不存在联系。这样网上大部分汉字转拼音类只能正确获取部分汉字的拼音(一级汉字).只有小数的3000多一点汉字. 而二级汉字根本查询不到,比如“蜻蜓”,比如"闰",虽然网上补上了二级汉字中"深圳"的圳,但与二级汉字的的总数相比,显得还是远远不够的。
因此据于上面的问题就对现有网上存在的方法进行了扩展,使其能获取GB2312-80编码规则中的所有中文汉字.
功能描述:
1.汉字字符串转换为全拼表示
2.汉字字符串转换为全拼音的首字母表示.比如:"生活的七色板"返回的是"SHDQSB"
相比现有网上绝大部分方法做的性能改进:
性能及改进:
1.使用StringBuilder连接要解析的字符串中的各个拼音.这个方法大量的字符串性能改善非常明显。
2.对一级字符串(日常使用最普遍的汉字)采用分块查找.加快查找速度。
3.支持一二级所有汉字(也就是支持所有GB2312字符集中汉字)。
缺点:不能区分多音字,只完全支持GB2312-80汉字库,如果是多音字,只能得到最后一个列表中的拼音。
补充:如果想支持多音字,建议用词库资源库的方式进行查找编程。如果有时间,我也会用这个词库资源库方式再作一个汉字转拼音的类库,以尽量支持汉字多音字及标号拼音。敬请关注。
下面是当前改进的汉字转拼音类:


, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
, -, -, -, -, -, -, -, -,
-, -, -, -, -, -, -, -, -,
-, -, -, -, -, -, -, -, -,
-, -, -, -, -, -, -, -, -
};
{
};
{
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , };
{
};
;
;
;
{
, );
}
{
);
; i < chs.Length; i++)
{
sb.Append(GetFirst(chs[i]));
}
}
{
] * + (Int16)arr[] - ;
&& chr < )
{
}
{
; aPos >= ; aPos--)
{
;
{
; i >= aboutPos; i--)
{
{
}
}
}
}
}
{
{
}
}
}
{
);
; j < chs.Length; j++)
{
sb.Append(Get(chs[j]));
}
}
}
}
C# 汉字转拼音(支持GB2312字符集中所有汉字)的更多相关文章
- CPinyin unicode汉字查找拼音(支持多音字)
下载代码 --------------------------------------------------------------------------------- 虽然很笨的办法,却非常有效 ...
- C#汉字转拼音(支持多音字)
之前由于项目需要,中间需要一个汉字转拼音和首拼的功能来做查询,感觉这种功能基本已经成熟化了,于是查找了相关的代码,首先引入眼帘的是下面两篇文章 1.C# 汉字转拼音(支持GB2312字符集中所有汉字) ...
- java 汉字转拼音
先决条件: pinyin4j.jar(Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换.拼音输出格式可以定制.) 下载地址:http://pan.baidu.com/share/l ...
- java汉字转拼音以及得到首字母通用方法
package oa.common.utils; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny ...
- SQL汉字转拼音函数-支持首字母、全拼
SQL汉字转拼音函数-支持首字母.全拼 FROM :http://my.oschina.net/ind/blog/191659 作者不详 --方法一sqlserver汉字转拼音首字母 --调用方法 s ...
- java字符操作获取汉字的拼音以及其它经常使用工具
公司需求年年有,今年有点小特殊,哈哈. 忽然加了个需求,说要实现汉字转拼音查询. 在努力下写出来了,如今分享一下吧!.! /** * 汉字转拼音缩写 * * @param str * 要转换的汉字字符 ...
- PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转
ChineseUtil 下载地址:https://github.com/Yurunsoft/ChineseUtil 另外一个中文转拼音工具:https://github.com/overtrue/pi ...
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...
- PHP汉字转拼音的两种方法+PHP提取汉字(中文)方法
方法一:依据ASCII码转换,GB2312库对多音字也无能为力. GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换.如:中国前总理朱镕基的"镕"字. GB2312中 ...
随机推荐
- ng-template寄宿方式
如果你是一个angular的开发者的话,对于ng-html2js你应该 很熟悉.对于angular的指令,我们经常需要定义模板( directive template/templateUrl),你可以 ...
- Yii Model中添加默认搜索条件
在查询中增加条件 public function defaultScope() { return array( 'condition' => " is_deleted = 0" ...
- 《OOC》笔记(3)——C语言变长参数va_list的用法
<OOC>笔记(3)——C语言变长参数va_list的用法 C语言中赫赫有名的printf函数,能够接受的参数数目不固定,这就是变长参数.C#里也有params这个关键字用来实现变长参数. ...
- AngularJS入门教程1--配置环境
首先需要下载AngualrJS,下载地址 https://angularjs.org/ 官方网站提供2种下载使用AngularJS方法: 1. 去GitHub下载 ,点击按钮会跳转到GitHub页面, ...
- 我也说百度和google
对于程序员,最好的老师恐怕还是百度或者google或一些专业的it社区.网站了罢! 之前曾听到这样的一句话, 文艺程序员用Google Scholar/Scirus/stackoverflow.普通程 ...
- 为什么Java方法里面不能再嵌套方法?
直接原因: 这是Java基本语法定义的,方法中不可以再次声明方法,只能调用其他的方法. 个人理解: 1.方法栈是需要一个载体的,这个载体就是Class,如果一个方法的上一级不是一个类,就说明没有载体. ...
- Atitit cnchar simp best list 汉字简化方案 最简化汉字256个
Atitit cnchar simp best list 汉字简化方案 最简化汉字256个 1.1. 最简化发音1 1.2. 根据笔画密度,删除了密度高的字..1 1.3. 使用同发音的英文字母等代 ...
- java中包容易出现的错误及权限问题
/* 3,权限在不同地方的体现: public protected default private 同一类中: ok ok ok ok 同一包中: ok ok ok 子类中: ok ok 不同包中: ...
- 白话Https
本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...
- RPC原理详解
RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性. 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分 ...