昨天有人问到了,本日就来了写篇文章分享一下,打算用两个办法,一是现成的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多字,以是在利用的时候很多汉字可能就无法转换。

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

第二种自己建拼音库的,这里我是用文本保存的拼音库,文章下方有拼音库的下载链接,制作的时候汉字是提取的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

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