The ' |= ' symbol is the bitwise OR assignment operator.
The C language supports a rich set of built-in operators. An operator is a symbol that tells the compiler to perform a certain mathematical or logical operations, based on the values provided to the operator. Operators are used in programs to manipulate data and variables.
Uri.EscapeDataString
or HttpUtility.UrlEncode
is the correct way to escape a string meant to be part of a URL.
Take for example the string "Stack Overflow"
:
HttpUtility.UrlEncode("Stack Overflow")
--> "Stack+Overflow"
Uri.EscapeUriString("Stack Overflow")
--> "Stack%20Overflow"
Uri.EscapeDataString("Stack + Overflow")
--> Also encodes "+" to "%2b"
---->Stack%20%2B%20%20Overflow
Only the last is correct when used as an actual part of the URL (as opposed to the value of one of the query string parameters)
HttpUtility.HtmlEncode
/ DecodeHttpUtility.UrlEncode
/ Decode
You can add a reference to the System.Web
assembly if it's not available in your project
I tried to do full compatible analog of javascript's encodeURIComponent for c# and after my 4 hour experiments I found this
c# CODE:
string a = "!@#$%^&*()_+ some text here али мамедов баку";
a = System.Web.HttpUtility.UrlEncode(a);
a = a.Replace("+", "%20");
the result is: !%40%23%24%25%5e%26*()_%2b%20some%20text%20here%20%d0%b0%d0%bb%d0%b8%20%d0%bc%d0%b0%d0%bc%d0%b5%d0%b4%d0%be%d0%b2%20%d0%b1%d0%b0%d0%ba%d1%83
After you decode It with Javascript's decodeURLComponent();
you will get this: !@#$%^&*()_+ some text here али мамедов баку
Thank You for attention
System.Uri.EscapeUriString() didn't seem to do anything, but System.Uri.EscapeDataString() worked for me.
Try Server.UrlEncode()
, or System.Web.HttpUtility.UrlEncode()
for instances when you don't have access to the Server
object. You can also use System.Uri.EscapeUriString()
to avoid adding a reference to the System.Web
assembly.
For a Windows Store App, you won't have HttpUtility. Instead, you have:
For an URI, before the '?':
For an URI query name or value, after the '?':
For a x-www-form-urlencoded query name or value, in a POST content:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With