用ASP实现简单的繁简转换

用ASP实现简单的繁简转换

用ASP实现简单的繁简转换

国际化似乎是一个很流行的口号了,一个站点没有英文版至少也要弄个繁体版,毕竟都是汉字,翻译起来不会那么麻烦:P

一般的繁简转换是使用字典,通过GB的内码算出BIG5字符在字典中的位置,读取显示之,用fso应该能够实现。这里介绍的方法思路更简单一些,用Dictionary对象,就是字典,呵呵,dicGb2Big5(gb)就是相应的BIG5。比起计算内码再依照位置读取字符简单的多吧:)

为了降低开销,把字典放在Application中,即在global.asa中建立两个application的字典对象

<OBJECT id=objGb2Big5 progid=”Scripting.Dictionrary” runat=”server” scope=”application”> 
</OBJECT> 
<OBJECT id=objBig52Gb progid=”Scripting.Dictionrary” runat=”server” scope=”application”> 
</OBJECT>

在application_onstart中给字典加入�项目

…… 
objGb2Big5.Add “啊”, “摆” 
objGb2Big5.Add “阿”, “” 
objGb2Big5.Add “埃”, “甁” 
……

…… 
objBig52Gb.Add “摆”, “啊” 
objBig52Gb.Add “”, “阿” 
objBig52Gb.Add “甁”, “埃” 
……

字典项非常多,就不都写了

做好了字典,使用的时候仅仅要查一下即可了:)

function gb2big5(str) 
dim i, l, k, t, rtn 
l = len(str) 
rtn=”” 
for i=1 to l 
k = mid(str, i, 1) 
if ascw(k)>=0 and ascw(k)<128 then 
t = k 
else 
if objGb2Big5.Exists(k) then 
t = objGb2Big5.Item(k) 
else 
t = ” ” 
end if 
end if 
rtn = rtn & t 
next 
gb2big5 = rtn 
end function

function big52gb(str) 
dim i, l, k, t, rtn 
l = len(str) 
rtn=”” 
for i=1 to l 
k = mid(str, i, 1) 
if ascw(k)>=0 and ascw(k)<128 then 
t = k 
else 
if objBig52Gb.Exists(k) then 
t = objBig52Gb.Item(k) 
else 
t = ” ” 
end if 
end if 
rtn = rtn & t 
next 
big52gb = rtn 
end function

測试一下看看吧

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119132.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 七彩虹智能主板设置U盘启动教程

    七彩虹智能主板设置U盘启动教程不同的电脑品牌主板进入 bios 的启动快捷键不同 在借助 u 盘安装系统的时候 我们经常会需要进 bios 调整 u 盘启动 有些网友不清楚七彩虹智能主板如何设置 u 盘启动 下面就给大家讲下七彩虹智能主板设置 U 盘启动教程 操作步骤 1 电脑开机后马上快速间断的按 Del 热键 一般左右下方有英文提示 如下图 2 键盘方向键往右移到 Boot 菜单上 下图 3 在 Boot 界面方向键往下移到 BootOption 1 上面按 enter 回车 4 然后选择 U 盘选项 按回车 5 接着按键盘上面的

    2025年11月6日
    3
  • break和continue return_break语句和continue语句的区别

    break和continue return_break语句和continue语句的区别前言一般刚开始遇到这三个关键字,都会有点乱,return还好,特别是break和continue,特别容易搞混,所以这里记录一下正文 1、return:直接跳出当前的方法,返回到该调用的方法的语句处,继续执行 2. break:在循环体内结束整个循环过程 3. continue:结束本次的循环,直接进行下一次的循环测试 这样说还

    2025年9月5日
    6
  • java countdowntimer_Android 倒计时CountDownTimer[通俗易懂]

    java countdowntimer_Android 倒计时CountDownTimer[通俗易懂]image.png美工妹子给的图如下,订单在创建时间的24小时后进行关闭业务逻辑从后台返回来的订单创建时间加24小时后减去你当下的时间就是相差的总共时间,然后进行倒计时倒计时结束后上传订单关闭标识,改变状态页实现思路可能在没有遇到CountDownTimer之前,我们都是创建Handle来开启异步线程来处理,如果你现在使用,我只能说太菜了,官方已经为我们封装好了一个类,爽的很,一起来看@Overr…

    2022年9月18日
    2
  • Ubuntu 下 通过ADB 安装Apk和导出手机中的Apk

    Ubuntu 下 通过ADB 安装Apk和导出手机中的Apk一、连接电脑首先确保你的手机打开了调试模式然后输入命令adbdevicesroot@lvi166-CN15S:/home/lvi166#adbdevicesListofdevicesattachedce10171a39a990c00b7e device如果连接成功则会出现你的设备二、确认你要导出的apk包名root@lvi166-CN15S:/hom…

    2022年5月25日
    119
  • OSI参考模型——物理层详解

    OSI参考模型——物理层详解一 物理层的基本功能物理层是 OSI 参考模型的最低层 它利用传输介质为通信的主机之间建立 管理和释放物理连接 实现比特流的透明传输 传输单位是比特 保证比特流通过传输介质的正确传输 1 与数据链路的关系物理层屏蔽了物理层采用的传输介质 通信设备和通信技术的差异性 指定不同类型的物理协议 使得数据链路只需要考虑如何使用物理层的服务 而不用考虑物理层采用了那种传输介质 2 物理层的协议类型计算机网路

    2025年8月31日
    2
  • Java面经5

    创建索引的注意事项并不是创建的索引越多越好,索引对于查询能进行加速,但对于插入、删除和更新,由于需要对索引进行创建与维护,会影响了这三个操作的速度且索引占用空间创建索引一般创建在主键上、需要频繁使用的条件字段上、范围查找对于多值索引满足最左前缀字段秒杀系统秒杀获得开始之前:将静态网页资源放到反向代理上进行缓存,避免所有的请求达到服务器。将活动信息、开始信息、能否进行秒杀活动信…

    2022年4月7日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号