Powershell Base-64 char数组的长度无效

时间:2015-01-07 09:42:26

标签: powershell base64

我有这个脚本,它下载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

任何线索为何会发生这种情况?非常感谢!!!

1 个答案:

答案 0 :(得分:1)

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

EG。它的末尾缺少一个或两个填充字符。

相关问题