全拼音算法中的汉语转换原理分析

2019-02-07 21:28 来源:admin
Readonlystaticstring[]_ spellMusicCode = newstring[]{ “一”, “AI”, “一个”, “ANG”, “AO”, “BA”, “白”, “禁止”, “砰”, “保”““贝”, “奔”, “比”, “扁”, “彪”, “别”, “宾”, “冰”, “博”, “不”, “CA”, “才”,“可以 “” 苍 “” 曹操 “” CE “” 曾 “” 茶 “” 柴 “” 陈 “” 昌 “” 炒 “” 车 “” 陈 “”, “”陈“”知识“”冲“”楚辞“”楚辞“”传“”传“”楚辞“”春“”楚辞“”大地“”从“”凑“, “铜”, “怎么做”, “翠”, “村”, “措”, “DA”, “黛”, “丹”, “荡”, “道”, “,,” 邓小平 “” 迪,“敦”,“敦”,“死”,“叮”,“窦”,“东”,“窦”,“杜”,“段”朵 “” E “” 恩 “” ER “” FA “” 粉丝 “” 方 “” 飞 “” 分 “” 凤 “” 福 “” FOU “” GA “” 改 “” 甘 “” 高 “” GE “” GE “” 创 “” 耕 “” 锣 “” 苟 “” 区 “” 卦““乖”, “关”, “桂”, “枪”, “过”, “哈”, “海”, “汉书”, “好”, “好”, “他”, “喜”,“母鸡“”恒“”侯“”虎“”华“”淮南子“”欢“”黄“”会“”‘红',‘火',‘亚洲',“健“” 健 “”, “巧”, “娇”, “洁”, “金”, “精”, “大舅”, “菊”, “胡安”, “厥”, “君”, “KA”, “佳”, “根”, “康”, “ん”, “ん”, “ん”, “宽”, “宽”, “宽”, “宽”, “奎”, “” ん”,“蒋经国”, “香格里拉”, “来”, “兰”, “老子”, “乐”, “雷”, “楞”, “礼”, “LIA”, “廉”, “良”,“辽“”谎言“”林“”灵“”刘“”长“”楼“”吕氏春秋“”鸾“”略“”论“”‘罗',‘马',“麦”,“人”,“莽”,“毛泽东”,“我”,“梅”,“男性”,“男性”“我的”,“面”,“妙”,“”三重“”分“”晃“”妙“”可能“”可能“”一“”一“”一个“”“Ni”,“ni”,“ni”,“ni”,“ni”,“ni”,“ni”,“ni”,“ni”,“Pai”,“pan”,“pang”,“nao”,“nu”,“nue”,“yao”,“nuo”,“o”,“ou”“PAO”, “PEI”, “笔”, “蓬”, “PI”, “片”, “票”, “蛋糕”, “销”, “平”, “PO”, “POU”,“プ“气”,“气”,“qu”,“全”,“阙”,“气”,“气”,“气”,“Ru”,“ru”,“ru”,“ru”,“ruo”,“ruo”,“qun”,“ran”,“rang”“锐”, “运行”, “若”, “山”, “西”, “三”, “唱”, “骚”, “SE”, “线”, “线”, “沙”,“沙,“沙”,“沙”,“沙”,“她”,“她”,“施”,“守”,“蜀”,“耍”,“帅”“栓”, “爽”, “水”, “说”, “是”, “歌”, “搜神记”, “苏”, “算”, “隋”, “太阳”, “嗦”,“TA “” 泰 “” 棕褐色 “” 道 “” 你 “” 滕 “” 你 “” 天 “” 佛跳墙 “” 扎 “” 婷 “” 通 “” 头“, “你”, “团”, “TUI”, “囤地”, “海天佛国”, “WA”, “威”, “WAN”, “王”, “伟”, “文”, “WO”,“武“”喜“”夏“”仙“”香“”小“”谢“”鑫“”兴“”熊“”喜“”序“”轩““训”, “雅”, “言”, “阳”, “你们”, “易”, “影子”, “影子”, “积极的”, “积极的”, “你”, “玉”,““禅”,“zeo”,“ze”,“zei”,“zen”,“zeng”,“zha“”斋“”展“”张“”照“”着“”真“”正“”志“”仲“”周“”珠““Zhua”, “拽”, “zhuuan”, “庄”, “追”, “卓”, “” 子 “” 总 “” 邹 “” つ “” 钻 “” 醉 “”尊 “” 左 “” “” EI “” M “” N “” 直径 “” CEN “” NOU “” JV “” QV “” 十五 “” LV”,“NV”};
在上述二维表中,不是直接将音节组合存储在二维数组中,而是将音节表的索引值保存为对应于诸如bao的音节组合。这有效地减少了内存消耗。。
因此,2位数组中的所有值必须是索引值,如在数组元素[176][161]中对应于a的索引值0。
由于GB 2312对应于大量字符,因此无需转换中宽字符,因此在日出类中省略了所有中宽度部分,因此实际值以[]开头。129 | 64],即8140。
在这一点上,我解释了原理,它可能不容易理解,让我们举一个例子来说明程序的流程。
首先输入汉字,程序首先初始化GB 2312编码对象。
系统
文本
Encodingencoding =系统。
文本
编码
GetEncoding(“GB 2312”);
接下来,我通过这个对象得到我的编码矩阵
字节[]local =编码。
GetBytes(I);
local的值必须是lo ?? cal[0]= 206。本地[1]= 210
假设一个二维数组被称为_spellCodeIndex。接下来,获得相应的拼音音节索引的值为_spellCodeIndex[local[0]-129,local[1]-64],即327。
接下来,检查音节组合表。索引327对应于“wo”,因此从中文到拼音的转换完成。
完整的c#类可以从这里下载。