Эти две команды эквивалентны в том смысле, что обе они используют кодировку 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< Функция /a> доступна на PowerShell.com. Имея это на месте, вы можете проверить свои сгенерированные файлы, просто:
Get-HexDump file.txt
Для чего-либо нетривиального вы можете указать, сколько столбцов в ширину вы хотите вывести и сколько байтов файла обрабатывать примерно так:
Get-HexDump file.txt -width 15 -bytes 150
person
Michael Sorens
schedule
17.11.2011