公告板
 2007-01-18網址變更,請使用新網址瀏覽網站。http://blog.nnickk.com/
 2007-01-17有任何問題歡迎到留言板留言!
 廣告一則電腦桌椅專賣店,另有辦公桌椅、家具、寢具等您來挑...
  • 1 
瀏覽模式: 普通 | 列表

ASP反解Server.URLEncode

CODE:


<script language=&#34;vbscript&#34; runat=&#34;server&#34;>

    Function AnsiCode(vstrIn)

        Dim i, strReturn, innerCode, ThisChr

        Dim Hight8, Low8

        strReturn = &#34;&#34;

        For i = 1 To Len(vstrIn)

            ThisChr = Mid(vStrIn,i,1)

            If Abs(Asc(ThisChr)) < &HFF Then

                strReturn = strReturn & ThisChr

            Else

                innerCode = Asc(ThisChr)

                If innerCode < 0 Then

                    innerCode = innerCode + &H10000

                End If

                Hight8 = (innerCode And &HFF00)  &HFF

                Low8 = innerCode And &HFF

                strReturn = strReturn & &#34;%&#34; & Hex(Hight8) & &#34;%&#34; & Hex(Low8)

            End If

        Next

        AnsiCode = strReturn

    End Function

    

    Function DeCodeAnsi(s)

        Dim i, sTmp, sResult, sTmp1

        sResult = &#34;&#34;

        For i=1 To Len(s)

            If Mid(s,i,1)=&#34;%&#34; Then

                sTmp = &#34;&H&#34; & Mid(s,i+1,2)

                If isNumeric(sTmp) Then

                    If CInt(sTmp)=0 Then

                        i = i + 2

                    ElseIf CInt(sTmp)>0 And CInt(sTmp)<128 Then

                        sResult = sResult & Chr(sTmp)

                        i = i + 2

                    Else

                        If Mid(s,i+3,1)=&#34;%&#34; Then

                            sTmp1 = &#34;&H&#34; & Mid(s,i+4,2)

                            If isNumeric(sTmp1) Then

                                sResult = sResult & Chr(CInt(sTmp)*16*16 + CInt(sTmp1))

                                i = i + 5

                            End If

                        Else

                            sResult = sResult & Chr(sTmp)

                            i = i + 2

                        End If

                    End If

                Else

                    sResult = sResult & Mid(s,i,1)

                End If

            Else

                sResult = sResult & Mid(s,i,1)

            End If

        Next

        DeCodeAnsi = sResult

    End Function

</script>

<script language=&#34;JAVASCRIPT&#34; runat=&#34;server&#34;>

    function ReadText(s){

        try{

            return decodeURIComponent(s);

        }catch(e){

            return DeCodeAnsi(s);

        }

    }

</script>

<%

'使用

=ReadText(xxx)

%>

  • 1