• ASP和jq实现url传递参数乱码的escape编码和unescape解码


    <%

    Function vbsEscape(str)
        dim i,s,c,a
        s=""
        For i=1 to Len(str)
            c=Mid(str,i,1)
            a=ASCW(c)
            If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then
                s = s & c
            ElseIf InStr("@*_+-./",c)>0 Then
                s = s & c
            ElseIf a>0 and a<16 Then
                s = s & "%0" & Hex(a)
            ElseIf a>=16 and a<256 Then
                s = s & "%" & Hex(a)
            Else
                s = s & "%u" & Hex(a)
            End If
        Next
        vbsEscape = s
    End Function
     
    Function vbsUnEscape(str)
        dim i,s,c
        s=""
        For i=1 to Len(str)
            c=Mid(str,i,1)
            If Mid(str,i,2)="%u" and i<=Len(str)-5 Then
                If IsNumeric("&H" & Mid(str,i+2,4)) Then
                    s = s & CHRW(CInt("&H" & Mid(str,i+2,4)))
                    i = i+5
                Else
                    s = s & c
                End If
            ElseIf c="%" and i<=Len(str)-2 Then
                If IsNumeric("&H" & Mid(str,i+1,2)) Then
                    s = s & CHRW(CInt("&H" & Mid(str,i+1,2)))
                    i = i+2
                Else
                    s = s & c
                End If
            Else
                s = s & c
            End If
        Next
        vbsUnEscape = s
    End Function
    %>

  • 相关阅读:
    Java的日期类和日期格式化类
    Java中的内部类
    c#中的里氏转换和Java中强制类型转换在多态中的应用
    MySQL存储引擎
    如何控制多线程执行顺序
    为什么 1000==1000 返回为false,而 100==100 会返回为true
    HashMap和HashTable的区别
    打印昨天的当前时刻
    怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
    MyBatis中 # 和 $ 的区别?
  • 原文地址:https://www.cnblogs.com/ince/p/15080094.html
Copyright © 2020-2023  润新知