'VB.Net代码继承VB6写法
Function StringToURLUTF8(ByVal Target As String) As String
If Target = "" Then Return ""
Dim Resault As String = ""
For i = 1 To Target.Length
Dim Text As String = Mid(Target, i, 1)
Dim Asc As Integer = AscW(Text)
If Asc < 0 Then Asc += 65536
Dim Resault_Part As String = ""
If (Asc And &HFF80) = 0 Then
Resault_Part = Text
Else
If (Asc And &HF000) = 0 Then
Resault_Part = "%" & Hex((Asc \ 64) Or &HC0) & Hex(Asc And &H3F Or &H80)
Else
Resault_Part = "%" & Hex((Asc \ 4096) Or &HE0) & "%" & Hex((Asc \ 64) And &H3F Or &H80) & "%" & Hex(Asc And &H3F Or &H80)
End If
End If
Resault &= Resault_Part
Next i
Return Resault
End Function
'VB.Net代码.Net写法
Function StringToURLUTF8(ByVal Target As String) As String
If Target = "" Then Return ""
Dim Resault As String = ""
For Each b As Byte In Encoding.UTF8.GetBytes(Target)
Resault &= "%" & b.ToString("X")
Next
Return Resault
End Function