用ASP實現簡單的繁簡轉換

穩萊

用ASP實現簡單的繁簡轉換
發佈時間:2004-8-14
 國際化似乎是一個非常流行的口號了,一個網站沒有英文版至少也要弄個繁體版,畢竟都是漢字,翻譯起來不會那麼麻煩: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 

測試一下看看吧 

<%=gb2big5("繁簡轉換測試")%>

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: 繁簡轉換
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.