バイナリファイルを解析しようとしていますが、どこに行けばよいのか助けが必要です。 「バイナリファイルの解析」、「バイナリファイルの読み取り」、「バイナリ内のテキストの読み取り」などをオンラインで探していますが、運がありません。
たとえば、このテキストをこのバイナリファイルから読み取るにはどうすればよいですか?どんな助けでも大歓迎です。 PowerShellを使用しています。
固定または推定可能な位置にテキストを含むバイナリファイルがあるようです。 Get-Content
は役立つかもしれませんが...ファイル全体を文字列の配列に解析し、「ガベージ」の配列を作成しようとします。また、特定の「文字のロープ」がどのファイル位置からのものであるかもわかりません。
.NETクラス File
を読み取り、 Encoding
をデコードできます。それは各呼び出しの単なる行です:
# Read the entire file to an array of bytes.
$bytes = [System.IO.File]::ReadAllBytes("path_to_the_file")
# Decode first 12 bytes to a text assuming ASCII encoding.
$text = [System.Text.Encoding]::ASCII.GetString($bytes, 0, 12)
実際のケースでは、特定の文字列シーケンスの開始と終了を検出し、それらのインデックスを使用してテキストを抽出するバイト範囲を GetString
。
前述の.NETメソッドは、.NET Framework 2.0以降で使用できます。 PowerShell 2.0をインストールした場合、既にインストールされています。
文字列だけを探している場合は、SysInternalsの strings.exe ユーティリティを確認してください。
Get-Content -Encoding byteを介してファイルを読み込むことができます。しかし、それをどのように解析するのかわかりません。