私が行った場合 echo zzz > test.txt
次にtest.txtを開くと、次のように表示されます。
ÿþz z z
多分それはUTF-8でエンコードされていません-多分それはUTF-16idkです。ただし、1バイトのエンコーディングを出力できることが望ましい場合もあります。たぶん、プログラムがJPEG画像などのバイナリファイルを出力しているようです。
とにかく、Powershellでリダイレクトされた出力がマルチバイトエンコーディングではなくシングルバイトエンコーディングを使用して行われるようにする方法はありますか?
以下は、現在のWindowsANSIコードページに文字列を書き出します。これはおそらく、シングルバイトでエンコードされた文字列を出力するために通常実行したいことです。
echo zzz | Out-File -Encoding default test.txt
ASCIIを使用することもできます。
echo zzz | Out-File -Encoding ascii test.txt
バイト配列を出力するには、次のようにします。
$myByteArray = New-Object Byte[] 100 # Array of 100 bytes.
[io.file]::WriteAllBytes('Test.dat', $myByteArray)