国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

ASP編碼和解碼函數詳解

瀏覽:217日期:2022-06-05 15:22:38

用ASP開發的時候遇到一個解碼問題。雖然在ASP中使用Request獲取編碼過URL字符串會自動解碼,但是Request.BinaryRead(Request.TotalBytes)取得Post數據時卻不會解碼,所以只能手動進行解碼。
ASP解碼函數:

Function URLDecode(enStr) 
 dim deStr,strSpecial 
 dim c,i,v 
  deStr=""
  strSpecial="!""#$%&"()*+,.-_/:;<=>?@[/]^`{|}~%"
  for i=1 to len(enStr) 
   c=Mid(enStr,i,1) 
   if c="%" then 
    v=eval("&h"+Mid(enStr,i+1,2)) 
    if inStr(strSpecial,chr(v))>0 then 
     deStr=deStr&chr(v) 
     i=i+2 
    else
     v=eval("&h"+ Mid(enStr,i+1,2) + Mid(enStr,i+4,2)) 
     deStr=deStr & chr(v) 
     i=i+5 
    end if
   else
    if c="+" then 
     deStr=deStr&" "
    else
     deStr=deStr&c 
    end if
   end if
  next 
  URLDecode=deStr 
End function

只是個人愛好,自己研究了一下編碼的實現思路,最后自己寫了一個編碼函數,提供大家參考。注:ASP有內置的編碼函數,即是Server.URLEncode。

ASP編碼函數:

private Function URLEncoding(vstrIn) 
  strReturn = ""
  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 & "%" & Hex(Hight8) & "%" & Hex(Low8) 
  End If 
  Next 
  URLEncoding = strReturn 
End Function

建議大家在中文編碼的時候,還是使用ASP 內置的函數。雖然上面這個編碼函數測試過N 遍了,沒有發現問題,但是以防萬一存在Bug。

以上就是關于ASP編碼和解碼函數,希望對大家的學習有所幫助。

標簽: ASP
主站蜘蛛池模板: 威远县| 乌拉特前旗| 门源| 扎鲁特旗| 通河县| 民和| 兴国县| 海淀区| 岳池县| 乐清市| 青川县| 清徐县| 阿拉善左旗| 南京市| 凤冈县| 天祝| 呼玛县| 卓资县| 焉耆| 精河县| 秦安县| 宽甸| 镇宁| 梅州市| 侯马市| 峡江县| 全南县| 永胜县| 尚义县| 边坝县| 迁西县| 溧阳市| 丹江口市| 禄劝| 陆良县| 贵南县| 青龙| 黔江区| 横峰县| 乐业县| 峨眉山市|