我以前用的是搜狗拼音,但是有一次我的词库数据莫名其妙的丢失后,而且发现搜狗拼音的词库不能导出为纯文本,所以我就放弃搜狗使用QQ拼音了。昨天看到搜狗拼音推出了云输入法,真是让我眼前一亮,真是很有创意的一个输入法,就因为搜狗推出了该输入法,因为他们的创意,所以我决定回到搜狗拼音。
要回归搜狗拼音输入法,那么词库问题是一个很严重的问题,默认情况下,QQ拼音输入法的词库是没办法导入到搜狗拼音输入法中的,直接将QQ拼音输入法词库导出,再在搜狗拼音输入法中导入时提示如下:
所以我不得不写一个小程序,将QQ拼音的词库格式转换一下,然后再进行导入。
分析了一下QQ拼音词库的格式和搜狗拼音词库格式,区别在于:
QQ拼音词库中提供了词频数,而搜狗词库没有。
QQ拼音的拼音前面是没有单引号的,但是搜狗词库必须要有。
所以只需要写一小段代码,实现上面的转换即可。具体代码如下:StreamReader sr = new StreamReader(this.textBox1.Text, Encoding.Default);
string
newPath
=
Path.GetDirectoryName(textBox1.Text)
+
"
\\Sougou PY.txt
"
;
StreamWriter sw = new StreamWriter(newPath, false , Encoding.Default);
while (sr.Peek() > 0 )
{
string str = sr.ReadLine();
var py = str.Split( ' ' );
if (py.Count() > 2 )
{
string newPy = " ' " + py[ 0 ] + " " + py[ 1 ];
sw.WriteLine(newPy);
// richTextBox1.AppendText(newPy + "\r\n");
}
}
sr.Close();
sw.Close();
MessageBox.Show( " OK " );
StreamWriter sw = new StreamWriter(newPath, false , Encoding.Default);
while (sr.Peek() > 0 )
{
string str = sr.ReadLine();
var py = str.Split( ' ' );
if (py.Count() > 2 )
{
string newPy = " ' " + py[ 0 ] + " " + py[ 1 ];
sw.WriteLine(newPy);
// richTextBox1.AppendText(newPy + "\r\n");
}
}
sr.Close();
sw.Close();
MessageBox.Show( " OK " );
这样就可以将词库转换出来,保存为Sougou PY.txt文件即可。
接下来在搜狗输入法中就可以导入本地文本词库了,导入后的效果如下:
附上代码和程序,方便大家遇到相同的情况时使用(可执行文件在bin/Debug目录下,需要.net Framework 2.0的支持,运行不了请安装.net):/Files/studyzy/QQPY2SGPY1.1.zip
本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2009/11/03/qqyp2sgpy.html,如需转载请自行联系原作者