<%
'Codificação.inc.asp
'Todos os direitos reservados, [email protected]
Função Encode(Str)
Dim Contagem, Pos, Ch, Código
Dim SweetCh
'SweetCh中表示不需要进行编码的字符
SweetCh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz_{}[]()"
Codificar = ""
Contagem = Len(Str)
Pos = 1
Fazer enquanto Pos<=Contar
Ch = Médio (Str, Pos, 1)
Código = Asc(Ch)
Se Código>=0 E Código<256 Então '汉字不予处理
Se Ch<>"%" Então
Se InStr(SweetCh, Ch)=0 Então
Ch = "%" & Direita("0" & Hex(Código), 2)
Terminar se
Outro
Ch = "%25"
Terminar se
Terminar se
Codificar = Codificar & Ch
Pos = Pos + 1
Laço
Função Final
Função Decodificação (Str)
Dim Contagem, Pos, Ch, Código
Decodificar = ""
Contagem = Len(Str)
Pos = 1
Faça enquanto Pos<=Contar
Ch = Médio (Str, Pos, 1)
Se Ch="%" Então
Se Pos+2<=Contar Então
Ch = Chr((InStr("0123456789ABCDEF", UCase(Mid(Str, Pos+1, 1)))-1) * 16 + InStr("0123456789ABCDEF",UCase(Mid(Str, Pos+2, 1)) ) - 1)
Outro
'编码串不正确
Ch = ""
Terminar se
Pos = Pos + 2
Terminar se
Decodificar = Decodificar & Ch
Pos = Pos + 1
Laço
Função final
%>