Эти две команды эквивалентны тем, что обе они по умолчанию используют кодировку UTF-16:
echo "string" > file.txt
echo "string" | out-file file.txt
Вы можете добавить явный параметр кодирования к последней форме (как указано jon Z) для получения простогоASCII:
echo "string" | out-file -encoding ASCII file.txt
В качестве альтернативы вы можете использовать set-content
, который по умолчанию использует кодировку ASCII:
echo "string" | set-content file.txt
Следствие 1:
Хотите преобразовать Unicode-файл в ASCII в одну строку?
Просто используйте это:
get-content your_unicode_file | set-content your_ascii_file
, который может быть сокращен до:
gc your_unicode_file | sc your_ascii_file
Следствие 2:
Хотите получить шестнадцатеричный дамп, чтобы вы могли действительно увидеть, что такое Unicode и что такое ASCII?
Использовать чистый и простой Get-HexDump функция доступна на PowerShell.com.Имея это в виду, вы можете проверять свои сгенерированные файлы с помощью всего лишь:
Get-HexDump file.txt
Для чего-либо нетривиального, вы можете указать, сколько столбцов ширины вы хотите выводить и сколько байтов файла обрабатывать с чем-токак это:
Get-HexDump file.txt -width 15 -bytes 150