2016-02-11 2 views
5

Я пытаюсь преобразовать строки base64 обратно в исходные файлы. Приложение, откуда я пытаюсь экспортировать эти файлы, разрешит мне экспортировать только строки base64. Этот экспорт возвращает строку base64 и тип файла.Преобразование base64 строки в файл

Как преобразовать эти строки в исходные файлы? Я пробовал такие вещи, но я не думаю, что это будет работать с различными типами файлов?

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

Может ли кто-нибудь предоставить мне некоторые идеи о том, как это сделать?

ответ

9

Метод FromBase64String() преобразует строку с кодировкой base64 в массив байтов. Все, что вам нужно сделать, это написать этот массив байтов обратно в файл:

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

$bytes = [Convert]::FromBase64String($b64) 
[IO.File]::WriteAllBytes($filename, $bytes) 
+0

Спасибо, отлично работает! – Jeroen

+0

Он просто работал как-то для меня .. Я боролся часами .. Спасибо, босс. –

+0

В моем случае текст Base-64 был слишком длинным, чтобы вставить его в окно powershell, поэтому мне пришлось делать '$ b64 = Get-Content" filePath "' – Origin

Смежные вопросы