Powershell Base-64 字符数组的无效长度

Powershell Invalid length for a Base-64 char array

我有这个脚本可以下载 base64 编码的文本并尝试对其进行解码。

同时我的脚本是这样的:

powershell.exe "set-ExecutionPolicy unrestricted ; $WebClient = New-Object net.WebClient ; $string$WebClient.DownloadString('http://127.0.0.1:1234/b64.txt'); [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($string))"

下载部分运行良好,但解码部分似乎出现以下异常:

Exception calling "FromBase64String" with "1" argument(s): "Invalid length for
a Base-64 char array."
At line:1 char:222
+ set-ExecutionPolicy unrestricted ; $WebClient = New-Object net.WebClient ; $s
tring = $WebClient.DownloadString('http://127.0.0.1:1234/b6464.txt'); [System.
Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String <<<< ($string
))
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

知道为什么会这样吗?非常感谢!!!

我预计base64编码字符串不是有效长度:并非所有长度都有效(每个编码字符提供5位数据,但结果数据需要是8位的倍数。

例如。它在末尾缺少一两个填充字符。