最近必要になったので備忘録。
PowerShellでBase64エンコードされた値をデコードする必要があったのですが、その時のコマンドを備忘録として残しています。
よくBase64の値を直接デコードするようなコードが公開されていますが、一旦ファイルに出力し、それを復元する方法をとっています。
- ファイルをBase64エンコードし、値をファイルに出力する
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes('エンコード対象ファイルパス')) > '出力先ファイルパス'
- Base64エンコードされた値が出力されたファイルから、Base64デコードしてファイルを復元する
[System.IO.File]::WriteAllBytes('復元先のパス', [Convert]::FromBase64String([System.IO.File]::ReadAllText('Base64ファイルのパス')))
例)bitmap.bmpをBase64エンコード・デコードする
bitmap.bmpをBase64エンコードし、値を一旦ファイルに出力(出力ファイルは拡張子無し)
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes('C:\Users\xxx\base64\bitmap.bmp')) > 'C:\Users\xxx\base64\base64Bitmap'
base64BitmapをBase64デコードし、ファイルを復元
[System.IO.File]::WriteAllBytes('C:\Users\xxx\base64\base64Bitmap.bmp', [Convert]::FromBase64String([System.IO.File]::ReadAllText('C:\Users\xxx\base64\base64Bitmap')))