Как функционирует%, который используется в Path? - PullRequest
2 голосов
/ 24 марта 2020

Я устанавливаю PKI с помощью скрипта, но у меня есть несколько строк, которые я не понимаю, как это работает

Скрипт использует в некоторых путях, например "http://pseudo.domain.org/%3%8%9.crl ".

Но скрипт создает этот файл с настоящим именем, например, псевдо-домен.crl

Как именно% 3% 8% 9.crl et c становится именем файла ?

Заранее спасибо

1 Ответ

2 голосов
/ 24 марта 2020

Экранирующая последовательность %XX (где X - шестнадцатеричные цифры) известна как процентное кодирование или URL-кодировка .

В URI некоторые символы, например : или / или @, например, имеют специальное синтаксическое значение, и поэтому их необходимо экранировать, если они передаются как часть пути.

Вы можете вручную экранировать части строки URI с помощью [uri]::EscapeDataString():

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
...