用于utf-8的url编码与解码

Function EscapeCode(p_Message)
Dim m_char,m_asc,m_hex '字符,ASC码,16进制ASCII码
Dim m_temp '临时字符
Dim a_arc() 'ASC码数组
Dim i
ReDim a_arc(Len(p_Message))
For i = 0 To Len(p_Message) -1
    m_char = Mid(p_Message,i+1,1)
    m_asc = AscW(m_char)
    If m_asc < 255 Then
      If (m_char = "*") Or(m_char = "+") _

        Or(m_char >= "-" And m_char <= "9" ) _
        Or(m_char >= "@" And m_char <= "Z" ) _
        Or(m_char = "_") _
        Or(m_char >= "a" And m_char <= "z" ) Then
   a_arc(i) = m_char
   Else
   m_temp = Hex(m_asc)
   If Len(m_temp) = 1 Then
     a_arc(i) = "%0" & m_temp
   ElseIf Len(m_temp) = 2 Then
     a_arc(i) = "%" & m_temp
   Else
     a_arc(i) = "%u" & m_temp
   End If
   End If
    Else
        m_temp = Hex(m_asc)
     If Len(m_temp) = 1 Then
       a_arc(i) = "%u000" & m_temp
     ElseIf Len(m_temp) = 2 Then
       a_arc(i) = "%u00" & m_temp
     ElseIf Len(m_temp) = 3 Then
       a_arc(i) = "%u0" & m_temp
     Else
          a_arc(i) = "%u" & m_temp
        End If
    End If
Next
EscapeCode = Join(a_arc,"")
End Function

'对Escape编码后的字符串进行解码
Function EscapeDecode(p_Message)
EscapeDecode = p_Message ' 函数待完成
End Function

转载于:https://www.cnblogs.com/xrxiaolong/articles/2693430.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值