前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

按键精灵安卓版将汉字转拼音的源码分享

qiguaw 2024-10-01 15:05:44 资源文章 60 ℃ 0 评论



昨天有人问到了,今天就来了写篇文章分享一下,打算用两个方式,一是现成的api接口,二是自己做个拼音库。


先说第一种:


Dim m="你好"Dim json=url.get("http://api.k780.com/?app=code.hanzi_pinyin&typeid=1&wd="&m&"&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json")Dim py=Encode.JsonToTable(json)TracePrint py["result"]["ret"]

顺便把调用方法写了,对于这种方法优点就是使用简单不费事,缺点是支持的汉字数量少,据介绍才有500多字,所以在使用的时候很多汉字可能就无法转换。


第二种自己建拼音库的,这里我是用文本保存的拼音库,文章下方有拼音库的下载链接,制作的时候汉字是提取的GB2312表,http://ash.jp/code/cn/gb2312tbl.htm

做完以后是这样子的:



一共有396行,基本就是把常见的汉字按照拼音逐行分开,首次做的比较费时间,我大概用了一个小时才整理好,后续使用就相对简单了。当然这里面也是常用汉字,对于生僻字,如果想要使用需要自己手动添加到拼音库里面。

说一下调用的原理:

①将要转为拼音的汉字,单个字分开

②逐行比对拼音库,如果找到对应的汉字,提取对应行首的拼音

看一下效果:



代码如下:

Dim m="大家好,我是三分钟学堂的郭立员"Dim n=utf8.len(m)Dim arr=file.readlines("/sdcard/pictures/pyk.txt")dim k=ubound(arr)Dim py=""Dim pFor i = 1 To ndim zf = UTF8.StrGetAt(m, i)For i = 0 To kIf UTF8.InStr(1, arr(i), zf)>0 Then p = Split(arr(i), "--")py=py&p(0)&" "End IfNextNextTracePrint py

这个拼音库使用起来也比较简单,如果觉得带个外置的文本麻烦,也可以自己把库写到代码当中,用数组直接保存也是一样的。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表