|
ASP来实现UTF8转换GB2312国标码-GB2312转UTF-8,需要的朋友可以参考下。
复制代码 代码如下: '个人代码风格注释(变量名中第一个小写字母表表示变量类型) '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
'调用方法 Response.BinaryWrite(GB2UTF(“中国人”))
|
|