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.