我正在用脚本设置PKI,但这里有一些行我不理解它是如何工作的
脚本在某些路径中使用,例如"http://pseudo.domain.org/%3%8%9.crl".
但是脚本使用真实名称创建这个文件,例如pseudo-domain.crl
%3%8%9.crl等究竟是如何成为文件名的?
提前感谢
转义序列%XX
(其中X
是十六进制数字(称为百分比编码或URL编码。
在URI中,一些字符,例如:
、/
或@
,具有特殊的语法含义,因此如果作为路径的一部分传递,则需要对它们进行转义。
您可以使用[uri]::EscapeDataString()
:手动转义URI字符串的部分内容
PS C:> $path = "uri-stem-with-a-@-in-it"
PS C:> [uri]::EscapeDataString($path)
uri-stem-with-a-%40-in-it
要解码编码字符串,请使用[uri]::UnescapeDataString()
:
PS C:> [uri]::UnescapeDataString("%41%42%43")
ABC