服务器之家

服务器之家 > 正文

实现UTF8转换GB2312国标码的asp代码

时间:2019-09-04 10:23     来源/作者:服务器之家
代码如下:

'个人代码风格注释(变量名中第一个小写字母表表示变量类型) 
'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(“中国人”)) 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧
逃跑吧少年怎么卡皮肤 逃跑吧少年卡永久皮肤技巧 2019-06-21
返回顶部