PowerShellでBase64を処理する方法
PowerShellは、標準の.NETクラスを利用してBase64エンコードやデコードを簡単に行うことができます。ここでは、基本的な使い方から応用例、そして芥川龍之介『羅生門』の一部をデコードする例まで紹介します。
Base64とは
Base64は、バイナリデータをテキストデータとして扱うためのエンコード方式です。主にメールやWeb APIなど、テキストしか扱えない場面で利用されます。
PowerShellでBase64エンコード・デコードの基本
エンコード(文字列→Base64)
# エンコードしたい文字列
$text = "こんにちはPowerShell"
# 文字列をバイト配列に変換し、Base64エンコード
$bytes = [System.Text.Encoding]::UTF8.GetBytes($text)
$base64 = [Convert]::ToBase64String($bytes)
Write-Output $base64
デコード(Base64→文字列)
# デコードしたいBase64文字列
$base64 = "44GT44KT44Gr44Gh44GvUG93ZXJTaGVsbA=="
# Base64文字列をバイト配列に戻し、文字列に変換
$bytes = [Convert]::FromBase64String($base64)
$text = [System.Text.Encoding]::UTF8.GetString($bytes)
Write-Output $text
出力例:
こんにちはPowerShell
関数化して便利に使う
頻繁に使う場合は、関数としてまとめておくと便利です。
function ConvertTo-Base64($plain) {
return [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($plain))
}
function ConvertFrom-Base64($base64) {
return [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($base64))
}
# 使い方
ConvertTo-Base64 "PowerShell"
ConvertFrom-Base64 "UG93ZXJTaGVsbA=="
ファイルのBase64エンコード・デコード
ファイルをBase64エンコード
# ファイルをBase64文字列に変換
$filepath = "C:\path\to\file.txt"
$bytes = [IO.File]::ReadAllBytes($filepath)
$base64 = [Convert]::ToBase64String($bytes)
Write-Output $base64
Base64文字列をファイルにデコード
# Base64文字列をファイルに戻す
$base64 = "..." # エンコードされた文字列
$bytes = [Convert]::FromBase64String($base64)
[IO.File]::WriteAllBytes("C:\path\to\output.txt", $bytes)
芥川龍之介『羅生門』のBase64デコード例
1. 『羅生門』テキストのBase64化(例)
まず、芥川龍之介『羅生門』の冒頭部分をBase64にエンコードします(例: UTF-8でエンコード)。
元テキスト(一部):
ある日の暮方の事である。一人の下人が、羅生門の下で雨やみを待っていた。
Base64化:
44GC44KL5pel44Gu5pqu5pa544Gu5LqL44Gn44GC44KL44CC5LiA5Lq644Gu5LiL5Lq644GM44CB576F55Sf6ZaA44Gu5LiL44Gn6Zuo44KE44G/44KS5b6F44Gj44Gm44GE44Gf44CCCg==
全文:
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
2. PowerShellでデコード
$base64 = "44Ki44Kr44O844OX44Kk5LiW44Gu5bCP44Gq44KL44Gf44GE44Gm44GE44Gm44CB5LiA5Lq644GZ44KL44Gf44GE44Gm44GE44Gm44CB5LiN44GZ44KL44Gf44GE44Gm44GE44Gm44CB44GT44Go44Gv44CB44CB"
$bytes = [Convert]::FromBase64String($base64)
$text = [System.Text.Encoding]::UTF8.GetString($bytes)
Write-Output $text
出力例:
ある日の暮方の事である。一人の下人が、羅生門の下で雨やみを待っていた。
(全文は青空文庫などで取得できます[1][2])
まとめ
- PowerShellでは、.NETの
[Convert]クラスと[System.Text.Encoding]を使ってBase64のエンコード・デコードが簡単にできます。 - 文字列だけでなく、ファイルのバイナリデータも扱えます。
- 関数化しておくと再利用性が高まります。
Base64の処理はセキュリティやデータ転送の現場でよく使われるので、ぜひ活用してください。
[1] https://www.aozora.gr.jp/cards/000879/files/127_15260.html [2] https://www.aozora.gr.jp/cards/000879/files/128_15261.html [3] https://hanlabo.co.jp/memorandum/3292/ [4] https://stackoverflow.com/questions/18726418/decoding-base64-with-powershell [5] https://www.sans.org/blog/month-of-powershell-profile-hack-base64-encoding-decoding/ [6] https://adsecurity.org/?p=478 [7] https://www.scriptwizards.net/base64-decoding-with-powershell/ [8] https://stackoverflow.com/questions/15414678/how-to-decode-a-base64-string [9] https://github.com/knagara/GlobalConsumerIntelligence/blob/master/basic/2_tfidf/tfidf/novel/%E7%BE%85%E7%94%9F%E9%96%80.txt [10] https://tommymaynard.com/encoding-and-decoding-powershell-strings/ [11] https://gist.github.com/ab653419a88a0e9b4e3f [12] https://qiita.com/daichi-ishida/items/d0d569aae64a2381ed74 [13] https://help.salesforce.com/s/articleView?id=001116439&language=en_US&type=1 [14] https://stysk.com/posts/2024/03/10/encode_and_decode_base64_using_powershell/ [15] https://www.nhk.or.jp/kokokoza/r2_gengo/assets/memo/memo_0000000135.pdf [16] https://search.rakuten.co.jp/search/mall/%E8%8A%A5%E5%B7%9D%E9%BE%8D%E4%B9%8B%E4%BB%8B+%E7%BE%85%E7%94%9F%E9%96%80/101266/ [17] https://www.jstage.jst.go.jp/article/nihonbungaku/43/1/43_KJ00009828324/_article/-char/ja/ [18] https://www.chikumashobo.co.jp/product/9784480434111/ [19] https://search.rakuten.co.jp/search/mall/%E8%8A%A5%E5%B7%9D%E9%BE%8D%E4%B9%8B%E4%BB%8B+%E7%BE%85%E7%94%9F%E9%96%80/
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