有时单纯需要这个功能,不得不引用Web链接库,这样还不如自写一个呢,并且编码的大小写还能控制(X2、x2)。 VB.NET Function UrlEncode(ByVal originalUrl As String) As String Dim bytes() As Byte = System.Text.Encoding.Default.GetBytes(originalUrl) Dim stringWriter As System.IO.StringWriter = New System.IO.StringWriter() For i As Integer = 0 To bytes.Length - 1 Dim c As Byte = bytes(i) If ((c >= 48) And (c <= 57)) Or ((c >= 65) And (c <= 90)) Or ((c >= 97) And (c <= 122)) Then stringWriter.Write(CType(ChrW(c), Char)) ElseIf c = 32 Then stringWriter.Write("+") Else stringWriter.Write("%{0:X2}", c) End If Next Return stringWriter.ToString() End Function C# public static string UrlEncode(string originalString) { byte[] bytes = Encoding.Default.GetBytes(originalString); System.IO.StringWriter stringWriter = new System.IO.StringWriter(); for (int i = 0; i < bytes.Length; i++) { byte c = bytes[i]; if (((c >= 48) && (c <= 57)) || ((c >= 65) && (c <= 90)) || ((c >= 97) && (c <= 122))) { stringWriter.Write((char)c); } else if (c == 32) { stringWriter.Write("+"); } else { stringWriter.Write("%{0:X2}", c); } } return stringWriter.ToString(); }