VB URL编码函数

小歆11年前软件源码02279
VB UTF-8 URL编码函数:
  1. Public Function UTF8_URLEncoding(szInput)
  2.     Dim wch, uch, szRet
  3.     Dim x
  4.     Dim nAsc, nAsc2, nAsc3
  5.     If szInput = "" Then
  6.         UTF8_URLEncoding = szInput
  7.         Exit Function
  8.     End If
  9.     For x = 1 To Len(szInput)
  10.         wch = Mid(szInput, x, 1)
  11.         nAsc = AscW(wch)
  12.        
  13.         If nAsc < 0 Then nAsc = nAsc + 65536
  14.        
  15.         If (nAsc And &HFF80) = 0 Then
  16.             szRet = szRet & wch
  17.         Else
  18.             If (nAsc And &HF000) = 0 Then
  19.                 uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
  20.                 szRet = szRet & uch
  21.             Else
  22.                 uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _
  23.                 Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _
  24.                 Hex(nAsc And &H3F Or &H80)
  25.                 szRet = szRet & uch
  26.             End If
  27.         End If
  28.     Next
  29.     UTF8_URLEncoding = szRet
  30. End Function
VB GB2312 URL编码函数:
  1.    Public Function URLEncode(ByRef strURL)
  2.        Dim I
  3.        Dim tempStr
  4.        For I = 1 To Len(strURL)
  5.            If InStr("-,.0123456789/", Mid(strURL, I, 1)) Then
  6.                URLEncode = URLEncode & Mid(strURL, I, 1)
  7.            Else
  8.                If Asc(Mid(strURL, I, 1)) < 0 Then
  9.                    tempStr = "%" & Right(CStr(Hex(Asc(Mid(strURL, I, 1)))), 2)
  10.                    tempStr = "%" & Left(CStr(Hex(Asc(Mid(strURL, I, 1)))), Len(CStr(Hex(Asc(Mid(strURL, I, 1))))) - 2) & tempStr
  11.                    URLEncode = URLEncode & tempStr
  12.                ElseIf (Asc(Mid(strURL, I, 1)) >= 65 And Asc(Mid(strURL, I, 1)) <= 90) Or (Asc(Mid(strURL, I, 1)) >= 97 And Asc(Mid(strURL, I, 1)) <= 122) Then
  13.                    URLEncode = URLEncode & Mid(strURL, I, 1)
  14.                Else
  15.                    URLEncode = URLEncode & "%" & Hex(Asc(Mid(strURL, I, 1)))
  16.                End If
  17.            End If
  18.        Next
  19.    End Function

相关文章

小歆专用挂机锁V1.0正式版00.jpg

[小歆][专用挂机锁][V1.0][正式版][2012.10.28]

本软件已升级至1.5,http://www.xxgzs.org/forum.php?mod=viewthread&tid=86    **************...

DIY白光电烙铁 全过程图解

DIY白光电烙铁 全过程图解         下载地址:DIY白光电烙铁 全过程图解(1.87 MB)...

中兴V880刷机包美化界面精简优化超省电

中兴V880刷机包美化界面精简优化超省电

0 b0 f9 u3 X, u0 M! e & z4 y# X; v) l$ Q: A ROM名称 [小张工作室]中兴V8...

[狼的孩子雨和雪][完][日语字幕][MP3]

[狼的孩子雨和雪][完][日语字幕][MP3]

狼的孩子雨和雪 日语字幕 MP3  测试平台:WIN7系统。 测试软件:千千静听。 测试歌词:含有歌词。 下载地址: 本帖隐藏的内容 ht...

STM32 V3.5.0 工程模版

STM32 V3.5.0 工程模版

STM32_V3.5.0工程模版 MDK环境下利用STM32库V3.5创建工程的模板! 下载地址:STM32_V3.5.0工程模版(701.27 K...

小歆のBlog迁移至emlog

小歆のBlog迁移至emlog

起因 2017年1月13日小歆のBlog作为最后一个网站从BudgetVM迁移至阿里云,使用国内的服务器能够得到更好的速度体验,为了更好发挥这个优势博客站将放弃WordPress转为...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。