文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Script基于javascript的拼音字典及应用举例
精品推荐
特别推荐
·主页javascript特效19则
·各种网页媒体播放器代码及详解
·用户体验:JS实现仿新浪信息提示效果
·网页特效:图片随机显示实例详解
·JavaScript入门学习书籍的阶段选择
·Javascript代码轻松隐藏网页源文件
·网页制作:JavaScript仿Windows关机效果
·网页制作Javascript经典小技巧总结
·JavaScript的9个陷阱及评点
·简单介绍用JSP来实现文件下载功能的几种方式
热点TOP10
·JS经典源码:通用javascript脚本函数库
·Velocity 的应用示例
·常用EMAIL格式检验(Javascript)
·一个很好的日历控件(采用javascript编写)
·动态的下拉菜单
·Javascript代码轻松隐藏网页源文件
·Javascript强制设为首页的网页代码
·左右图片循环滚动停顿一下后继续
·VS2008中JavaScript编辑调试器的秘密
·用confirm确认提交动作,提交确认提示

基于javascript的拼音字典及应用举例

日期:2008年1月15日 作者: 查看:[大字体 中字体 小字体]


不论是浏览器还是操作系统,对中文的支持已经有了长足的进步,但是在一些细节方面仍然存在不足。比如,在windows文件浏览时,我们可以通过按下文件夹名的首字母来快速定位文件夹,但是对于文件夹名为中文的文件夹却无能为力。类似的,在网页浏览中,也存在类似问题。这种问题不会妨碍使用,但却伤害体验。本文分两部分,第一部分简单介绍基于javascript的拼音字典的构造方法;第二部分简单介绍几个应用。

字典准备
找一个汉字拼音对照表,用正则表达式将这些汉字与拼音关联起来创建对象字典(为了简单,忽略了多音字)。
结果类似于 a["爱"]='ai',a['我']='wo'……
转换为数组
利用汉字具有唯一ascii码值这一特点,将汉字与拼音的对应关系转换为ascii与拼音的对应关系。javascript求中文的ascii码的函数是charCodeAt()。比如'爱'的ascii码是29233,'我'的ascii码是25105……则可以将对象字典转换为数组字典:a[29233]='ai',a[25105]='wo'……
数组字典就完成了。转换以后,要查找爱的拼音,可以这样:a['爱'.charCodeAt()],方便快捷吧?
压缩数组字典
我使用了三个压缩来压缩字典。
第一个压缩是减小数组空间。因为汉字的ascii值往往比较大,最小的也将近20000。所以我们可以将数组的索引往前平移,我采用的值是18000,为了确保安全,我留出了一定盈余空间。
平移后的数组字典为:a[29233-18000]='ai',a[25205-18000]='wo'……
第二个压缩是减少数据的重复。在字典的近7000个汉字中,读音的种类是较少的。将所有读音种类存到数组b内,然后在数组字典a内记录读音在b中的索引即可。
比如'ai'在b中的索引为1,则数组字典变为 a[11233]=1……
这个时候要查找'爱'的拼音,可以这样 b[a['爱'.charCodeAt()-18000]]
第三个压缩时gzip压缩,这个以后单独在另外的文章中探讨。

经过这几步,简单的字典基本设计好了:字典下载(13k)。这个文件,如果用浏览器直接下载保存,是未Gzip压缩版,约40k。压缩版需要用下载工具下载,约13k。

字典应用举例
我已经将几个应用整理到一个页面中,您可以直接观看效果演示。
<input id="translateForm" type="text" size="70"/><button type="button" id="translateBt">开始注音</button>
</label>
<div class="result" id="tResult">
</div>
</div>
 
</div>
<script language="javascript">
var $=function(id){return document.getElementById(id)};
var tForm=$("translateForm");
var tBt=$("translateBt");
 
tBt.onclick=function(){
    var temp=tForm.value.split(''),i=-1,len=temp.length;
    while(++i<len){
        temp[i]=(temp[i].charCodeAt()<1000temp[i].charCodeAt()>60000)?temp[i]:lookUpWord(temp[i]);
    }
    $('tResult').innerHTML=temp.join(" ");
}
</script>
</body>
</html>


PLAIN TEXT
JavaScript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demo@rssidea</title>
<script language="JavaScript" type="text/javascript" src="http://demo.rssidea.com/js/ChineseAscii_pack.js"></script>
<style type="text/css">
.result{
    padding:5px 0;
    margin-bottom:50px;

[1] [2] 下一页 




上一篇:不用重装XP系统就可以解决全部故障

下一篇:CSS网页布局中ID与class的理解

相关文章:
·从零开始 无线网络终极应用宝典
·注册表应用100例—注册表使用全攻略之十一
·WindowsXP应用技巧的具体总结
·每周电脑应用技巧荟萃
·几何图形英文字体创意设计及应用作品欣赏
·英文字体创意设计及应用作品欣赏
·Windows IE 7.0应用技巧心得
·让打字更快!搜狗拼音输入法八大妙用
·Photoshop通道的概念及应用(1):抠婚纱
·JS经典源码:通用javascript脚本函数库
相关软件:
·注册表实例应用视频教程swf
·紫光华宇拼音输入法V6-Final
·Excel应用宝典
·AUTOCAD 2002机械设计应用与实例
·中文版 AutoCAD2004 应用实例与技巧
·搜狗拼音输入法V3.0 正式版
·闹猴新华字典 V1.00┊完全免费的小巧的典籍资料速查工具┊简体中文绿色免费版
·拼音加加V4.2.0.16
·五笔拼音反查精灵V6.3
·ERP管理模式及应用教学 视频 详见查看

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot