.net/C# 实现汉字到拼音转换
在进行语料库的制作过程中,一项繁琐的工作便是将已有的汉字手动转换为拼音,格式如下:
Sentence m39C1041 :制约俄国、巩固西方在东欧的立足点,
Sentence spell:Zhi4 yue1 e2 guo2 gong3 gu4 xi1 fang1 zai4 dong1 ou1 de0 li4 zu2 dian3
Sentence m39C1042 :避免东欧发生逆转,
Sentence spell:Bi4 mian3 dong1 ou1 fa1 sheng1 ni4 zhuan3 (来自863语料库)
当我们已知汉字的时候何不自动完成汉字到拼音的转换,我们项目中对语料没有音调的要求,所以“他、塔、榻”所对应的拼音都是“ta”。
这里我们采用了一个工作量巨大的方法,在GB 2312编码中,每一个汉字的编码都是唯一确定的,汉字编码与音节之间存在多对一的关系,通过对汉字编码的总结,得到如下汉字编码—音节对应表,如表1所示。通过对汉字编码—音节对应表的查找,即可实现汉字到音节的转换。例如“帮”字的GB 2312编码为6182,对应的音节即为“bang”。
表1. 汉字编码—音节对应表
汉字编码 |
音节 |
6325|6436|7571|7925 |
a |
6263|6440|7040|7208|7451|7733|7945 |
ai |
…… |
…… |
5815|7294|7840|8341 |
zhao |
5826|6531|6571|7859|7903|8361 |
zheng |
对于中文操作系统,系统默认编码方式即为GB 2312编码,所以.net中,Encoding.Default 对应于用户在控制面板中区域和语言选项中的默认编码方式。
取得汉字编码的代码实现为:
byte[] ascii = Encoding.Default.GetBytes(strInput);//string为输入的单个汉字
if (ascii.Length == 1)//如果不是汉字而是窄字符
{
return strInput;
}
else
{
int codeNo;
codeNo = (ascii[0] - 0xa0) * 100 + ascii[1] - 0xa0;//最高位*100+最低位就是汉字编码
}
效果演示:
需要源代码请留下你的邮箱!
.net/C# 实现汉字到拼音转换相关推荐
- pinyin4J一款非常好用的汉字和拼音转换的插件
给大家介绍一款非常好用的汉字转拼音,进行用拼音检索相关数据的时候比较方便,就是pinyin4j插件,在eclipse里如果是maven项目,直接导入相关约束,然后导入工具类,随时根据需求调用相关方法即 ...
- java使用pinyin4j实现汉字到拼音转换
1.在pom文件中导入pinyin4j的依赖 <dependency><groupId>com.belerweb</groupId><artifactId&g ...
- java jisuan da xie zi mu ge shu_Java 实现汉字转换为拼音的实例
Java 实现汉字转换为拼音 转换类 public class PINYINChinese { private static int[] pyvalue = new int[] { -20319, - ...
- PostgreSQL的汉字转拼音
为什么80%的码农都做不了架构师?>>> 线上产品升级需要导入一批3W多的用户数据,问题卡在了用户的汉字拼音码上,Excel也能实现大部分汉字的拼音转换,但还有很多生僻字无法转 ...
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...
- 如何实现拼音与汉字的互相转换
如何实现拼音与汉字的互相转换 发表于2个月前(2016-02-16 15:01) 阅读(58) | 评论(0) 6人收藏此文章, 我要收藏 赞0 4月23日,武汉源创会火热报名中,期待您的参与&g ...
- php 汉字转拼音类,PHP汉字转换拼音的类_php
网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下: function Pinyin($_String, $_Code='gb2 ...
- c#汉字拼音转换拼音
汉字转换拼音挺实用的,有拼音转换汉字的交流一下谢谢 public class PinYin{#region//拼音代码表readonly static string[] _spellMusicCode ...
- mysql root dengru_Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)
<Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)>要点: 本文介绍了Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼),希望对您有用.如果有疑问,可以联系我 ...
最新文章
- java web Junit
- 怎么快速把语音转成文字
- python编写函数isodd(x)_python函数对象
- PC问题-VMware Workstation出现“文件锁定失败”
- linux安装部署apache+subversion+jsvnadmin
- <LINUX内核完全剖析:基于0.12内核> 笔记一
- java中getClass().getResourceAsStream()与getClass().getClassLoader().getResourceAsStream()的区别
- 内存动态分配之realloc(),malloc(),calloc()与new运算符
- HDU - 4586 数学期望
- 电脑屏保海底世界_炸弹测深出来的海底一万米,都藏有何种玄机?
- 第七节:框架搭建之页面静态化的剖析
- Spring 事务管理总结
- 惠普第八代游戏家族产品重磅首发,搭载英特尔第十二代酷睿处理器
- 数控镗铣床行业调研报告 - 市场现状分析与发展前景预测
- 31muduo_net库源码分析(七)
- 小学生都能看懂的生成函数入门教程
- kmeans算法中的sse_《Kmeans的K值确定》
- landsat8数据下载相关小知识
- 创业者不能盲目的跟风,不然结局很凄凉
- win怎么在计算机里按日期搜索文件,Win8系统如何按指定修改日期搜索文件