redirecionando a saída no powershell produz texto codificado em UTF-8

1

Se eu fizer echo zzz > test.txt e depois abrir o test.txt, o que eu vejo é isto:

ÿþz z z 

Talvez não seja codificado em UTF-8 - talvez seja o idk UTF-16. Mas às vezes é apenas desejável ser capaz de produzir codificações de byte único. Como talvez o programa esteja exibindo um arquivo binário, como uma imagem JPEG, ou algo assim.

De qualquer forma, existe alguma maneira de fazer com que a saída redirecionada no Powershell seja feita usando uma codificação de byte único em vez de uma de vários bytes?

    
por neubert 23.08.2015 / 23:48

1 resposta

2

A seguir, a cadeia será gravada na página de código atual do Windows ANSI. Isso é provavelmente o que você geralmente deseja fazer para gerar strings codificadas de byte único.

echo zzz | Out-File -Encoding default test.txt

Você também pode usar ASCII:

echo zzz | Out-File -Encoding ascii test.txt

Para gerar uma matriz de bytes, faça algo assim:

$myByteArray = New-Object Byte[] 100   # Array of 100 bytes.
[io.file]::WriteAllBytes('Test.dat', $myByteArray)
    
por 24.08.2015 / 04:40