Monday, November 07, 2005

 

Some notes on Pinyin - 2

1.
from http://blog.csdn.net/cpu88/archive/2004/11/26/195315.aspx

汉字获得拼音(包括多音)得到拼音首字符.查询.排序等的实现
//**********************************************
步骤:
//得到拼音(包括多音)
A: 用输入法生成器(win2000)"C:\Program Files\Windows NT\Accessories\Imegen.exe"
逆转换拼音输入法文件C:\WINNT\SYSTEM32\WINPY.MB
会生成一个C:\WINNT\SYSTEM32\WINPY.txt文件(简称 WINPY.txt文件)
B: WINPY.txt文件里面是 汉字拼音列表5万多条 除去词组 有汉字2万多个(含多音)
C: 汉字可以转换成某中编码可以自己构造编码方法,保证一个汉字对应一个编码 简称编码方法)
如 byte[] uniCode = new String(temp).getBytes(“GB2312“);
将WINPY.txt里面所有的汉字变成编码。得到汉字编码 拼音对应表(简称汉字编码表)
XXXX0,a //XXXX0是某个汉字的编码
XXYX2,o //XXYX2是某个汉字的编码
D: 汉字编码表按编码排序,编码表按编码大小排序。
编码表分组(方便查询 ) 而且得到分组的标志。
E: 查询汉字拼音 将汉字进行编码(按自己的编码方法)。
用编码在编码表中查询就可以得到拼音,查询时在编码表中的某个分组中查询,而不是在所有编码中查询。速度很快。
//得到首字符 如'北京' 得到 'bj' '呆子'得到 'd[a]z ' //多音
//排序 有了拼音 就可以按一些常见的排序方法排序
//************************************************



<< Home

This page is powered by Blogger. Isn't yours?