#navi(../)

* PowerShellでBase64のエンコードとデコード [#w243f965]
PowerShellでBase64のエンコードとデコード方法を以下に記します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#rc792dff]
-[[PowerShellでURLエンコード・URLデコード>PowerShell/PowerShellでURLエンコード・URLデコード]]
-[[PowerShellでBase64のエンコードとデコード>PowerShell/PowerShellでBase64のエンコードとデコード]]

* Base64エンコード [#gb187a68]
エンコードする場合は、以下の命令を使用します。~
[Convert]::ToBase64String(''Base64にしたい文字列'')

実際に簡単なスクリプトを書いて実行してみます。

 $txt = "こんにちは"
 $byte = ([System.Text.Encoding]::Default).GetBytes($txt)
 $b64enc = [Convert]::ToBase64String($byte)
 echo $b64enc

上記のスクリプトをPowerShell端末上で実行してみます。

 PS D:\sakura> $txt = "こんにちは"
 PS D:\sakura> $byte = ([System.Text.Encoding]::Default).GetBytes($txt)
 PS D:\sakura> $b64enc = [Convert]::ToBase64String($byte)
 PS D:\sakura> echo $b64enc
 grGC8YLJgr+CzQ==

エンコードされた文字列が表示されます。

* Base64デコード [#pbed976c]
デコードする場合は、以下の命令を使用します。~
[Convert]::FromBase64String(''もとに戻したいBase64の文字列'')

実際に簡単なスクリプトを書いて実行してみます。~
デコードするBase64文字列は、上記のエンコードで出力されたBase64文字列を使用してみます。

 $b64txt="grGC8YLJgr+CzQ=="
 $byte = [System.Convert]::FromBase64String($b64txt)
 $txt = [System.Text.Encoding]::Default.GetString($byte)
 echo $txt

上記のスクリプトをPowerShell端末上で実行してみます。

 PS D:\sakura> $b64txt="grGC8YLJgr+CzQ=="
 PS D:\sakura> $byte = [System.Convert]::FromBase64String($b64txt)
 PS D:\sakura> $txt = [System.Text.Encoding]::Default.GetString($byte)
 PS D:\sakura> echo $txt
 こんにちは


* 追記 [#s9f74a04]
[System.Text.Encoding]::DefaultのDefaultですが、UTF8とかにすることもできます。~
以下URLのプロパティの説明をお読みください。~
- Microsoft Developer Network Encoding クラス~
https://msdn.microsoft.com/ja-jp/library/system.text.encoding(v=vs.110).aspx

以上、PowerShellでBase64のエンコード/デコードする方法でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS