• 用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

    測试一下看看吧

  • 相关阅读:
    DHCP服务器
    继承、抽象、多态
    范围随机数Random
    阿里、北理工、清华以及华为的镜像站
    创建kafka生产对象
    kafka消费者的配置
    Kafka 流数据 SQL 引擎 -- KSQL
    认证maven工程
    基础算法
    Java基础
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3825648.html
Copyright © 2020-2023  润新知