服务热线:18243769982

ASP将中文汉字数字英文字母加密转换为Ascii和Unicode编码(&#)的方法

网站首页 > 文章中心 > 58天建站教程 > ASP相关浏览:36

需求场景

有时候我们不希望源代码中出现原字符,如某些地方门户供求信息网站需要显示电话号码,我们就需要对电话号码在源码里以类似加密形式显示,但又不影响前端UI页面上的显示,那么就需要将字符串转换为Ascii编码形式。

方法一:将中文汉字、英文字母和数字转换

<%

Function AsciiToUnicode(AsciiStr)

 Dim Str,UnicodeStr

 UnicodeStr=""

 For i=1 To Len(AsciiStr)

  Str=AscW(Mid(AsciiStr,i,1))

  If Str<0 Then

   Str=Str+65536

  End If

  UnicodeStr=UnicodeStr&"&#"&Str&";"

 Next

 AsciiToUnicode=UnicodeStr

End Function


Function UnicodeToAscii(UnicodeStr)

 If InStr(UnicodeStr,"&#")>0 Then

  Dim Str,AsciiStr

  Str=Split(UnicodeStr,"&#")

  AsciiStr=""

  For i=0 To UBound(Str)

   If Str(i)<>"" Then

    AsciiStr=AsciiStr&ChrW(Left(Str(i),Len(Str(i))-1))

   End If

  Next

  UnicodeToAscii=AsciiStr

 Else

  UnicodeToAscii=UnicodeStr

 End If

End Function

%>

<%

Str="58天网络www.58day.com"

response.Write "Str:"&Str&"<br />Unicode:"&AsciiToUnicode(Str)&"<br />Ascii:"&UnicodeToAscii(AsciiToUnicode(Str))

%>

方法二:简略代码,将英文字母和数字转换(不支持中文)

<%

function strtoAscii(str)

i=""

for j=1 to len(str)

i=i & "&#" & asc(mid(str,j,1))

next

strtoAscii=i

end function

response.write strtoAscii("123456")

%>

输出结果为123456,但网页源码里显示为&#49&#50&#51&#52&#53&#54