将base64字符串转换为file

Jer*_*oen 11 powershell base64 file

我正在尝试将base64字符串转换回原始文件.我尝试导出这些文件的应用程序只允许我导出base64字符串.此导出返回base64字符串和文件类型.

如何将这些字符串转换回原始文件?我一直在尝试这样的事情,但我认为这不适用于不同类型的文件?

[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($file)) |
    Out-File C:\ID\document.$($extension)
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供一些关于如何做到这一点的想法吗?

Ans*_*ers 25

FromBase64String()方法将base64编码的字符串转换为字节数组.您需要做的就是将该字节数组写回文件:

$b64      = 'AAAAAA...'
$filename = 'C:\path\to\file'

$bytes = [Convert]::FromBase64String($b64)
[IO.File]::WriteAllBytes($filename, $bytes)
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,Base-64文本太长而无法粘贴到powershell窗口中,因此我不得不执行`$ b64 = Get-Content“ filePath”`。 (2认同)
  • 不要犯我犯的同样的错误,除非给出绝对路径,否则“WriteAllBytes”将默默失败 (2认同)