1

Если я делаю echo zzz > test.txt а затем открываю test.txt, я вижу следующее:

ÿþz z z 

Может быть, это не кодировка UTF-8 - может быть, это UTF-16 idk. Но иногда желательно иметь возможность выводить однобайтовые кодировки. Например, программа выводит двоичный файл, например изображение JPEG, или что-то подобное.

В любом случае, есть ли способ сделать так, чтобы перенаправленный вывод в Powershell выполнялся с использованием однобайтовой кодировки вместо многобайтовой?

1 ответ1

2

Далее будет записана строка в текущей кодовой странице 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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .