用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://www.cnblogs.com/yxwkf/p/3825648.html
總結
以上是生活随笔為你收集整理的用ASP实现简单的繁简转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server数据库大型应用解决方
- 下一篇: 2007年10月14日的日记