VB.Net将文本转换为WWW表单

VB.Net将文本转换为WWW表单,vb.net,encoding,utf-8,httpwebrequest,Vb.net,Encoding,Utf 8,Httpwebrequest,我想将文本转换为WWW表单 例如:@应该是%40,%应该是%25等等 有很好的编码器,但我想在VB.Net中实现 我需要这个用于httpwebrequest,我认为它与x-www-form-urlencoded有关,您可以使用: Dim OriginalURL As String = "http://www.example.com/some file with spaces.php?q1=plus+&q2=at@&q3=svenska språkets 'ö'" Dim Enco

我想将文本转换为WWW表单

例如:
@
应该是
%40
%
应该是
%25
等等

有很好的编码器,但我想在VB.Net中实现

我需要这个用于httpwebrequest,我认为它与x-www-form-urlencoded

有关,您可以使用:

Dim OriginalURL As String = "http://www.example.com/some file with spaces.php?q1=plus+&q2=at@&q3=svenska språkets 'ö'"
Dim EncodedURL As String = Uri.EscapeDataString(OriginalURL)
在线测试:


如果您只想转义URL的一部分,但仍然保留有效的组件,如
:/=&(等)你会用。

不错,但我还是想出了我的答案,那就是
System.Web.HttpUtility.UrlEncode(我的字符串)
,不过你的也能帮上忙,谢谢@StefanĐorđević:很高兴您找到了自己的解决方案,但实际上您应该使用
Uri.EscapeDataString()
与标准兼容<例如,code>HttpUtility.UrlEncode/-Decode
不能正确转义空格,因为它将空格转换为
+
,而不是
%20