Decoding base64 with powershell
This one-liner preserves the original encoding of the base64 encoded file, so it will work with binary files such as a PDF or ZIP. Change ".\input.txt"
and output.bin
as needed - this will take .\input.txt
, base 64 decode it, and then write the bytes out to output.bin
exactly as they were when the file was encoded.
$file = ".\input.txt"; [System.Convert]::FromBase64String((Get-Content $file)) | Set-Content output.bin -Encoding Byte
On Windows 10, using PowerShell you can do:
certutil -decode in.b64 out.txt
Well I got it working. Who knew Out-File re-encoded to Unicode by default? Solved by doing the following:
$file = "C:\input.txt"
$data = Get-Content $file
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($data)) | Out-File -Encoding "ASCII" out.html