vb中怎么写URLEncode编码? 20
vb中怎么写URLEncode编码?我想转换的字例如是:我们在网上找到的PublicFunctionURLEncoding(ByValvstrInAsString)AsS...
vb中怎么写URLEncode编码?
我想转换的字 例如是:我们
在网上找到的
Public Function URLEncoding(ByVal vstrIn As String) As String
strreturn = ""
Dim i
Dim thisChr
For i = 1 To Len(vstrIn)
thisChr = Mid(vstrIn, i, 1)
If Abs(Asc(thisChr)) < &HFF Then
If thisChr = " " Then
strreturn = strreturn & "+"
Else
If InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.", thisChr) > 0 Then
strreturn = strreturn & thisChr
Else
strreturn = strreturn & "%" & IIf(Asc(thisChr) > 16, "", "0") & Hex(Asc(thisChr))
End If
End If
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
都是 转换成 %CE%D2%C3%C7 这个的,
而不是转成 %E6%88%91%E4%BB%AC 这个的哦
请大家帮帮忙哦!!谢谢
那VB里有CodePage是65001和936两种情况的么??
获得的代码 象这个帖子差不多! 不过是ASP的。我想要VB转换的。
http://zhidao.baidu.com/question/6912615.html?si=4
不知道怎么写第2个代码的function 网上没找到哦。 展开
我想转换的字 例如是:我们
在网上找到的
Public Function URLEncoding(ByVal vstrIn As String) As String
strreturn = ""
Dim i
Dim thisChr
For i = 1 To Len(vstrIn)
thisChr = Mid(vstrIn, i, 1)
If Abs(Asc(thisChr)) < &HFF Then
If thisChr = " " Then
strreturn = strreturn & "+"
Else
If InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.", thisChr) > 0 Then
strreturn = strreturn & thisChr
Else
strreturn = strreturn & "%" & IIf(Asc(thisChr) > 16, "", "0") & Hex(Asc(thisChr))
End If
End If
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
都是 转换成 %CE%D2%C3%C7 这个的,
而不是转成 %E6%88%91%E4%BB%AC 这个的哦
请大家帮帮忙哦!!谢谢
那VB里有CodePage是65001和936两种情况的么??
获得的代码 象这个帖子差不多! 不过是ASP的。我想要VB转换的。
http://zhidao.baidu.com/question/6912615.html?si=4
不知道怎么写第2个代码的function 网上没找到哦。 展开
3个回答
展开全部
这个程序就是vb的源程序.
"我们" 转换成"%CE%D2%C3%C7 ",这是asc的编码
"%E6%88%91%E4%BB%AC " 是"我们"的UTF-8的编码.
用这个函数可以获得UTF-8编码
Function GBtoUTF8(szInput)
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
'如果输入参数为空,则退出函数
If szInput = "" Then
GBtoUTF8 = 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 (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
GBtoUTF8 = szRet
End Function
"我们" 转换成"%CE%D2%C3%C7 ",这是asc的编码
"%E6%88%91%E4%BB%AC " 是"我们"的UTF-8的编码.
用这个函数可以获得UTF-8编码
Function GBtoUTF8(szInput)
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
'如果输入参数为空,则退出函数
If szInput = "" Then
GBtoUTF8 = 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 (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
GBtoUTF8 = szRet
End Function
参考资料: http://www.asp.org.cn/vbscript/2007-1-25/1961.htm
推荐于2017-09-19 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517174
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
vb中URLEncode编码的写法:
代码如下:
Public Function URLEncode(ByVal strParameter As String) As String
Dim s As String
Dim I As Integer
Dim intValue As Integer
Dim TmpData() As Byte
s = ""
TmpData = StrConv(strParameter, vbFromUnicode)
For I = 0 To UBound(TmpData)
intValue = TmpData(I)
If (intValue >= 48 And intValue <= 57) Or _
(intValue >= 65 And intValue <= 90) Or _
(intValue >= 97 And intValue <= 122) Then
s = s & Chr(intValue)
ElseIf intValue = 32 Then
s = s & "+"
Else
s = s & "%" & Hex(intValue)
End If
Next I
URLEncode = s
end Function
代码如下:
Public Function URLEncode(ByVal strParameter As String) As String
Dim s As String
Dim I As Integer
Dim intValue As Integer
Dim TmpData() As Byte
s = ""
TmpData = StrConv(strParameter, vbFromUnicode)
For I = 0 To UBound(TmpData)
intValue = TmpData(I)
If (intValue >= 48 And intValue <= 57) Or _
(intValue >= 65 And intValue <= 90) Or _
(intValue >= 97 And intValue <= 122) Then
s = s & Chr(intValue)
ElseIf intValue = 32 Then
s = s & "+"
Else
s = s & "%" & Hex(intValue)
End If
Next I
URLEncode = s
end Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多谢楼下回答,解决大问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询