[VBS]仿ASP的URLEncode功能的VBScript

vbs, jscript, bat等 script 語言-非 web 使用的討論區

[VBS]仿ASP的URLEncode功能的VBScript

文章tim » 2010年 4月 21日, 12:09

在 VBScript 中, 若要做類似於 ASP 程式裡的 Server.URLEncode 功能, 因為在 VBScript 中沒有內建(當然, ASP中也沒有內建, 而是使用 Server 物件達成的), 所以需要自行調整一下來使用, 參考資料: http://www.cftea.com/c/2009/10/OOXX97QIONHANAF9.asp

在 UTF-8 下的中文三字元的方式可以使用:
代碼: 選擇全部
Function UrlEncode(szInput)
    Dim wch, uch, szRet
    Dim x
    Dim nAsc, nAsc2, nAsc3
    If szInput = "" Then
        UrlEncode= szInput
        Exit Function
    End If
    For x = 1 To Len(szInput)
        wch = Mid(szInput, x, 1)
        nAsc = AscW(wch)
        If nAsc < 0 Then nAsc = nAsc + 65536
        If wch = "+" then
            szRet = szRet & "%2B"
        ElseIf wch = "%" then
            szRet = szRet & "%25"
        ElseIf (nAsc And &HFF80) = 0 Then
            szRet = szRet & wch
        Else
            If (nAsc And &HF000) = 0 Then
                uch = "%" & Hex(((nAsc  2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
                szRet = szRet & uch
            Else
                uch = "%" & Hex((nAsc  2 ^ 12) Or &HE0) & "%" & _
                Hex((nAsc  2 ^ 6) And &H3F Or &H80) & "%" & _
                Hex(nAsc And &H3F Or &H80)
                szRet = szRet & uch
            End If
        End If
    Next
    UrlEncode= szRet
End Function
多多留言, 整理文章, 把經驗累積下來.....
頭像
tim
 
文章: 1282
註冊時間: 2008年 11月 26日, 00:49

回到 SCRIPT區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron