用ASP實現簡單的繁簡轉換
					作者:tank 日期:2005-01-24
用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("繁簡轉換測試")%> 


 上一篇
上一篇 下一篇
下一篇 
 

 
  
						

 文章來自:
文章來自:  引用通告:
引用通告:  Tags:
Tags: