等效于 Powershell 中的 Javascript encodeURI?
Equivalent of Javascripts encodeURI in Powershell?
Powershell 中的 Javascripts encodeURI()
/ encodURIComponent()
是什么?
我正在对 URL 进行编码(其中需要一些 %20
),但我讨厌手动进行编码。
对于这些情况,您可以使用 System.Uri class。
encodeURI()
等价物是使用 class 中的 EscapeUriString
静态方法或将您的 URI 字符串转换为 System.URI
类型并访问 AbsoluteUri
属性.
$uri = 'https://example.com/string with spaces'
# Method 1
[uri]::EscapeUriString($uri)
# Method 2
([uri]$uri).AbsoluteUri
# Output
https://example.com/string%20with%20spaces
encodeURIComponent()
等效项可以使用 class 的 EscapeDataString
方法完成。
$uri = 'https://example.com/string with space&OtherThings=?'
[uri]::EscapeDataString($uri)
#Output
https%3A%2F%2Fexample.com%2Fstring%20with%20space%26OtherThings%3D%3F
注意:您不必定义变量(在本例中为 $uri
)。您可以将其替换为带引号的字符串。我仅出于可读性目的使用该变量。
Powershell 中的 Javascripts encodeURI()
/ encodURIComponent()
是什么?
我正在对 URL 进行编码(其中需要一些 %20
),但我讨厌手动进行编码。
对于这些情况,您可以使用 System.Uri class。
encodeURI()
等价物是使用 class 中的 EscapeUriString
静态方法或将您的 URI 字符串转换为 System.URI
类型并访问 AbsoluteUri
属性.
$uri = 'https://example.com/string with spaces'
# Method 1
[uri]::EscapeUriString($uri)
# Method 2
([uri]$uri).AbsoluteUri
# Output
https://example.com/string%20with%20spaces
encodeURIComponent()
等效项可以使用 class 的 EscapeDataString
方法完成。
$uri = 'https://example.com/string with space&OtherThings=?'
[uri]::EscapeDataString($uri)
#Output
https%3A%2F%2Fexample.com%2Fstring%20with%20space%26OtherThings%3D%3F
注意:您不必定义变量(在本例中为 $uri
)。您可以将其替换为带引号的字符串。我仅出于可读性目的使用该变量。