Escape


Definition: Encodes a string so it contains only ASCII characters.

 

Admittedly, this is another one of those functions you probably don’t use on a daily basis. To quote from the VBScript Language reference:

 

“The Escapefunction returns a string (in Unicode format) that contains the contents of charString. All spaces, punctuation, accented characters, and other non-ASCII characters are replaced with % xxencoding, where xx is equivalent to the hexadecimal number representing the character. Unicode characters that have a value greater than 255 are stored using the % u xxxx format.”

 

Hey, why not?

 

Shockingly, Windows PowerShell doesn’t include a built-in method for encoding a string in this fashion. However, you can easily do this by loading the .NET Framework System.Web class and then using the Web.Utility class’ URLEncode method. In other words, by executing a pair of commands similar to this:

 

[ Reflection.Assembly]: : LoadWithPartialName(" System.Web")
$a = [ web.httputility]:: urlencode("http://www.microsoft.com/technet/scriptcenter/default.mspx")

 

When you run this command and then echo back the value of $ a youshould get the following:

 

http% 3a%2f%2fwww.microsoft.com%2ftechnet%2fscriptcenter%2fdefault.mspx

 

And yes, that’s what it’s supposedto look like.