在 powershell 中重定向输出产生 UTF-16 编码文本

在 powershell 中重定向输出产生 UTF-16 编码文本

如果我这样做echo zzz > test.txt然后打开 test.txt 我看到的是:

ÿþz z z 

但有时我们只是希望能够输出单字节编码。比如程序可能输出二进制文件,如 JPEG 图像或类似文件。

无论如何,有没有办法使 Powershell 中的重定向输出使用单字节编码而不是多字节编码?

答案1

下面将在当前 Windows ANSI 代码页中输出字符串。这可能就是您通常想要输出单字节编码字符串的方法。

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)

相关内容