以下僅供學習研究之用,不得用于其它用途,未經(jīng)允許謝絕轉(zhuǎn)載。
'個人代碼風格注釋(變量名中第一個小寫字母表表示變量類型) 'i:為Integer型; 's:為String; Function U2UTF8(Byval a_iNum) Dim sResult,sUTF8 Dim iTemp,iHexNum,i
iHexNum = Trim(a_iNum)
If iHexNum = "" Then Exit Function End If
sResult = ""
If (iHexNum < 128) Then sResult = sResult & iHexNum ElseIf (iHexNum < 2048) Then sResult = ChrB(&H80 + (iHexNum And &H3F)) iHexNum = iHexNum \ &H40 sResult = ChrB(&HC0 + (iHexNum And &H1F)) & sResult ElseIf (iHexNum < 65536) Then sResult = ChrB(&H80 + (iHexNum And &H3F)) iHexNum = iHexNum \ &H40 sResult = ChrB(&H80 + (iHexNum And &H3F)) & sResult iHexNum = iHexNum \ &H40 sResult = ChrB(&HE0 + (iHexNum And &HF)) & sResult End If
U2UTF8 = sResult End Function
Function GB2UTF(Byval a_sStr) Dim sGB,sResult,sTemp Dim iLen,iUnicode,iTemp,i
sGB = Trim(a_sStr) iLen = Len(sGB) For i = 1 To iLen sTemp = Mid(sGB,i,1) iTemp = Asc(sTemp)
If (iTemp>127 OR iTemp<0) Then iUnicode = AscW(sTemp) If iUnicode<0 Then iUnicode = iUnicode + 65536 End If Else iUnicode = iTemp End If
sResult = sResult & U2UTF8(iUnicode) Next
GB2UTF = sResult End Function
'調(diào)用方法 Response.BinaryWrite(GB2UTF("中國人"))
出處:藍色理想
責任編輯:moby
◎進入論壇網(wǎng)絡編程版塊參加討論
|