2019独角兽企业重金招聘Python工程师标准>>>

用人在知道里面提问,如何用javascript程序把汉字转换为拼音的首字母,帖子地址是:http://zhidao.baidu.com/question/41377061.html

  我分析一下以后,写了下面的把汉字转换为拼音的程序,但是帖子只要拼音的首字母,所以那里只贴了一个更简单化的版本。

  程序原理很简单,网上可以找到汉字拼音的数据字典,但是由于大家都知道GB2312编码里面汉字是按拼音排序的,只要知道各个拼音为首的汉字代码,就可以计算所有汉字的拼音代码了。

  程序有一个关键,就是Javascript对汉字是自动使用unicode编码,为了获取起GB2312的ASCII编码值,我使用了VBSCRIPT来写了两个函数,在JAVASCRIPT程序里面调用VBSCRIPT的函数实现代码转换。

  完整程序如下(把以下代码保存为一个html文件用IE打开,在汉字栏里面输入内容,光标离开的时候拼音栏就会显示相应的拼音):

<mce:script  language="vbscript"><!--
function vbChr(c)
vbChr = chr(c)
end functionfunction vbAsc(n)
vbAsc = asc(n)
end function
// --></mce:script><mce:script language=javascript><!--
var py1=new Array(20319,
20317,
20304,
20295,
20292,
20283,
20265,
20257,
20242,
20230,
20051,
20036,
20032,
20026,
20002,
19990,
19986,
19982,
19976,
19805,
19784,
19775,
19774,
19763,
19756,
19751,
19746,
19741,
19739,
19728,
19725,
19715,
19540,
19531,
19525,
19515,
19500,
19484,
19479,
19467,
19289,
19288,
19281,
19275,
19270,
19263,
19261,
19249,
19243,
19242,
19238,
19235,
19227,
19224,
19218,
19212,
19038,
19023,
19018,
19006,
19003,
18996,
18977,
18961,
18952,
18783,
18774,
18773,
18763,
18756,
18741,
18735,
18731,
18722,
18710,
18697,
18696,
18526,
18518,
18501,
18490,
18478,
18463,
18448,
18447,
18446,
18239,
18237,
18231,
18220,
18211,
18201,
18184,
18183,
18181,
18012,
17997,
17988,
17970,
17964,
17961,
17950,
17947,
17931,
17928,
17922,
17759,
17752,
17733,
17730,
17721,
17703,
17701,
17697,
17692,
17683,
17676,
17496,
17487,
17482,
17468,
17454,
17433,
17427,
17417,
17202,
17185,
16983,
16970,
16942,
16915,
16733,
16708,
16706,
16689,
16664,
16657,
16647,
16474,
16470,
16465,
16459,
16452,
16448,
16433,
16429,
16427,
16423,
16419,
16412,
16407,
16403,
16401,
16393,
16220,
16216,
16212,
16205,
16202,
16187,
16180,
16171,
16169,
16158,
16155,
15959,
15958,
15944,
15933,
15920,
15915,
15903,
15889,
15878,
15707,
15701,
15667,
15661,
15659,
15652,
15681,
15640,
15631,
15625,
15454,
15448,
15436,
15435,
15419,
15416,
15408,
15394,
15385,
15377,
15375,
15369,
15363,
15362,
15183,
15180,
15165,
15158,
15153,
15150,
15149,
15144,
15143,
15141,
15140,
15139,
15128,
15121,
15119,
15117,
15110,
15109,
14941,
14937,
14933,
14929,
14928,
14926,
14930,
14922,
14921,
14914,
14908,
14902,
14894,
14889,
14882,
14873,
14871,
14857,
14678,
14674,
14670,
14668,
14663,
14654,
14645,
14630,
14594,
14429,
14407,
14399,
14384,
14379,
14368,
14355,
14353,
14345,
14170,
14159,
14151,
14149,
14145,
14140,
14137,
14135,
14125,
14123,
14122,
14112,
14109,
14099,
14097,
14094,
14092,
14090,
14087,
14083,
13917,
13914,
13910,
13907,
13906,
13905,
13896,
13894,
13878,
13870,
13859,
13847,
13831,
13658,
13611,
13601,
13406,
13404,
13400,
13398,
13395,
13391,
13387,
13383,
13367,
13359,
13356,
13343,
13340,
13329,
13326,
13318,
13147,
13138,
13120,
13107,
13096,
13095,
13091,
13076,
13068,
13063,
13060,
12888,
12875,
12871,
12860,
12858,
12852,
12849,
12838,
12831,
12829,
12812,
12802,
12607,
12597,
12594,
12585,
12556,
12359,
12346,
12320,
12300,
12120,
12099,
12089,
12074,
12067,
12058,
12039,
11867,
11861,
11847,
11831,
11798,
11781,
11604,
11589,
11536,
11358,
11340,
11339,
11324,
11303,
11097,
11077,
11067,
11055,
11052,
11045,
11041,
11038,
11024,
11020,
11019,
11018,
11014,
10838,
10832,
10815,
10800,
10790,
10780,
10764,
10587,
10544,
10533,
10519,
10331,
10329,
10328,
10322,
10315,
10309,
10307,
10296,
10281,
10274,
10270,
10262,
10260,
10256,
10254,0);
var py2=new Array('a',
'ai',
'an',
'ang',
'ao',
'ba',
'bai',
'ban',
'bang',
'bao',
'bei',
'ben',
'beng',
'bi',
'bian',
'biao',
'bie',
'bin',
'bing',
'bo',
'bu',
'ca',
'cai',
'can',
'cang',
'cao',
'ce',
'ceng',
'cha',
'chai',
'chan',
'chang',
'chao',
'che',
'chen',
'cheng',
'chi',
'chong',
'chou',
'chu',
'chuai',
'chuan',
'chuang',
'chui',
'chun',
'chuo',
'ci',
'cong',
'cou',
'cu',
'cuan',
'cui',
'cun',
'cuo',
'da',
'dai',
'dan',
'dang',
'dao',
'de',
'deng',
'di',
'dian',
'diao',
'die',
'ding',
'diu',
'dong',
'dou',
'du',
'duan',
'dui',
'dun',
'duo',
'e',
'en',
'er',
'fa',
'fan',
'fang',
'fei',
'fen',
'feng',
'fo',
'fou',
'fu',
'ga','gai',
'gan',
'gang',
'gao',
'ge',
'gei',
'gen',
'geng',
'gong',
'gou',
'gu',
'gua',
'guai',
'guan',
'guang',
'gui',
'gun',
'guo',
'ha',
'hai',
'han',
'hang',
'hao',
'he',
'hei',
'hen',
'heng',
'hong',
'hou',
'hu',
'hua',
'huai',
'huan',
'huang',
'hui',
'hun',
'huo',
'ji',
'jia',
'jian',
'jiang',
'jiao',
'jie',
'jin',
'jing',
'jiong',
'jiu',
'ju',
'juan',
'jue',
'jun',
'ka',
'kai',
'kan',
'kang',
'kao',
'ke',
'ken',
'keng',
'kong',
'kou',
'ku',
'kua',
'kuai',
'kuan',
'kuang',
'kui',
'kun',
'kuo',
'la',
'lai',
'lan',
'lang',
'lao',
'le',
'lei',
'leng',
'li',
'lia',
'lian',
'liang',
'liao',
'lie',
'lin',
'ling',
'liu',
'long',
'lou',
'lu',
'luan',
'lue',
'lun',
'luo',
'lv',
'ma',
'mai',
'man',
'mang',
'mao',
'me',
'mei',
'men',
'meng',
'mi',
'mian',
'miao',
'mie',
'min',
'ming',
'miu',
'mo',
'mou',
'mu',
'na',
'nai',
'nan',
'nang',
'nao',
'ne',
'nei',
'nen',
'neng',
'ni',
'nian',
'niang',
'niao',
'nie',
'nin',
'ning',
'niu',
'nong',
'nu',
'nuan',
'nue',
'nuo',
'nv',
'o',
'ou',
'pa',
'pai',
'pan',
'pang',
'pao',
'pei',
'pen',
'peng',
'pi',
'pian',
'piao',
'pie',
'pin',
'ping',
'po',
'pu',
'qi',
'qia',
'qian',
'qiang',
'qiao',
'qie',
'qin',
'qing',
'qiong',
'qiu',
'qu',
'quan',
'que',
'qun',
'ran',
'rang',
'rao',
're',
'ren',
'reng',
'ri',
'rong',
'rou',
'ru',
'ruan',
'rui',
'run',
'ruo',
'sa',
'sai',
'san',
'sang',
'sao',
'se',
'sen',
'seng',
'sha',
'shai',
'shan',
'shang',
'shao',
'she',
'shen',
'sheng',
'shi',
'shou',
'shu',
'shua',
'shuai',
'shuan',
'shuang',
'shui',
'shun',
'shuo',
'si',
'song',
'sou',
'su',
'suan',
'sui',
'sun',
'suo',
'ta',
'tai',
'tan',
'tang',
'tao',
'te',
'teng',
'ti',
'tian',
'tiao',
'tie',
'ting',
'tong',
'tou',
'tu',
'tuan',
'tui',
'tun',
'tuo',
'wa',
'wai',
'wan',
'wang',
'wei',
'wen',
'weng',
'wo',
'wu',
'xi',
'xia',
'xian',
'xiang',
'xiao',
'xie',
'xin',
'xing',
'xiong',
'xiu',
'xu',
'xuan',
'xue',
'xun',
'ya',
'yan',
'yang',
'yao',
'ye',
'yi',
'yin',
'ying',
'yo',
'yong',
'you',
'yu',
'yuan',
'yue',
'yun',
'za',
'zai',
'zan',
'zang',
'zao',
'ze',
'zei',
'zen',
'zeng',
'zha',
'zhai',
'zhan',
'zhang',
'zhao',
'zhe',
'zhen',
'zheng',
'zhi',
'zhong',
'zhou',
'zhu',
'zhua',
'zhuai',
'zhuan',
'zhuang',
'zhui',
'zhun',
'zhuo',
'zi',
'zong',
'zou',
'zu',
'zuan',
'zui',
'zun',
'zuo','');
function getPinYin(index){
var i;
if(index==0x1534) return 'yan';
if(index>0x4F5F||index<0x2807) return '';
i=0;while(py1[i]>=index)i++;
return py2[i-1];
}
function pinyin(s){
var i,s2='';
for (i=0;i<s.length;i++)s2+=getPinYin(0-vbAsc(s.charAt(i)));
return s2;
}
// --></mce:script>
<form name=frm>
汉字:<input type=text name=s SIZE=120 onchange="javascript:document.frm.p.value=pinyin(this.value);"><BR>
拼音:<input type=text name=p SIZE=120 readonly>
</form>

转载于:https://my.oschina.net/u/3647620/blog/1552325

JS_将汉字转换成汉语拼音JS版相关推荐

  1. python 加注拼音-一个将汉字转换成汉语拼音的python库的代码

    下边代码段是关于一个将汉字转换成汉语拼音的python库的代码. #!/usr/bin/env python """ Author:cleverdeng E-mail:c ...

  2. 汉字转拼音 python_python实现将汉字转换成汉语拼音的库

    本文实例讲述了python实现将汉字转换成汉语拼音的库.分享给大家供大家参考.具体分析如下: 下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data 的字典,可点击此处 ...

  3. python汉字转拼音代码,一个将汉字转换成汉语拼音的python库的代码

    下边代码段是关于一个将汉字转换成汉语拼音的python库的代码. #!/usr/bin/env python """ Author:cleverdeng E-mail:[ ...

  4. python咋变汉语_python实现将汉字转换成汉语拼音的库

    本文实例讲述了python实现将汉字转换成汉语拼音的库.分享给大家供大家参考.具体分析如下: 下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data 的字典,可点击此处 ...

  5. 将汉字转换成汉语拼音方法,Pinyin4j入门教程

    pinyin4j是一个支持将简体和繁体中文转换到成拼音的Java开源类库,作者是Li Min ().以下是一些具体的介绍和使用方式. 1. pinyin4j的官方下载地址http://sourcefo ...

  6. 将汉字转换成汉语拼音的工具代码

    这个代码是在上家公司做项目时使用到的, 现在的一个同事要完成类似这样的功能, 所以整理出来, 其实这个是可以在网上找到的, 不知原作者是谁, 如果有不妥之处, 请见谅, 都是为了项目吗! packag ...

  7. js 如何将汉字转换成拼音

    js 如何将汉字转换成拼音 有多种方法,你可以使用插件,pinyin.js,访问地址:请移步 pinyin.js链接 demo下载地址:http://download.csdn.net/detail/ ...

  8. javascript汉字转换成拼音

    javascript汉字转换成拼音 分类 JavaScript 2007-9-27 7:16:38 浏览 13791 回复 0 隐藏侧边栏 转自 www.div-css.com . 阅读 编辑 运行 ...

  9. java 汉字转拼音原理_Java汉字转成汉语拼音工具类

    Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包. import net.sourceforge.pinyin4j.PinyinHelper; import net.sourcefo ...

最新文章

  1. 将图像转换为8位单通道_数字图像存储
  2. Python自动化开发学习15-css补充内容
  3. 【每周CV论文】深度学习图像降噪应该从阅读哪些文章开始
  4. 网页设计简约_简约设计指南
  5. SAP Cloud Connector的介绍
  6. A Walk Through the Forest HDU - 1142(dijkstra+动态规划)
  7. 数学推导题,NTT,快速数论变换,Wannafly-导数卷积
  8. 在ASP.NET中防止注入攻击
  9. c语言学习-有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素
  10. 第十章 Linux   samba 共享软件
  11. oracle sql语句_7个维度查看oracle执行计划的sql语句执行效率
  12. thinkphp group count连用
  13. 鸟类的大脑处理数据模式,可以启发CPU/GPU的设计
  14. GC(1.1OOPMap)
  15. 输入一个正整数n(n<360),输出n度的正弦余弦值
  16. 智鼎在线测评是测什么_为什么求职者会反感企业招聘用的人才测评?
  17. 计算机中文件夹怎么上密码,怎样设置电脑文件夹密码
  18. 全球人口密度大致分布
  19. C++Primer——第8章(IO库)
  20. windows清理_CCleaner专业的windows清理工具【附专业版升级方法】

热门文章

  1. DBA系列-推荐书籍(中文版本)
  2. windows什么录屏软件好用,windows屏幕录制软件
  3. 商络转债上市价格预测
  4. 分别用if else 以及 switch实现 税收计算
  5. 初学SpringMVC注册前端控制器DispatcherServlet:org.springframework.web.servlet.DispatcherServlet报红
  6. 计算机应用基础南京廖华,《计算机应用基础》习题及答案
  7. laravel5.4新特性
  8. split和ubound函数的用法
  9. matlab带下标的字母,matlab的特殊字符(上下标和希腊字母等)
  10. 微信php提取,php提取微信账单的有效信息