Если вы имеете в виду символ новой строки , в исходной строке его нет.Таким образом, Format-Hex
не будет отображать единицу.
Windows использует CR LF-последовательность (0x0a, 0x0d) для новой строки.Чтобы увидеть управляющие символы, добавьте новую строку в строку.Таким образом,
"hello"+[environment]::newline | Format-Hex -Raw -Encoding Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 68 65 6C 6C 6F 0D 0A hello..
Можно также использовать escape-последовательность Powershell: "hello`r`n"
для того же эффекта, что и при добавлении [Environment]::NewLine
, хотя только последний поддерживает платформу .
Приложение в соответствии с комментарием и редактирование:
Powershell Get-Content
пытается быть умным.В большинстве случаев использования [необходима цитата] данные, считываемые из текстовых файлов, не обязательно должны содержать символы новой строки.Get-Content заполнит массив, и каждая строка, прочитанная из файла, будет иметь свой собственный элемент.Какой смысл использовать новую строку?
Когда вывод перенаправляется в файл, Powershell снова пытается проявить смекалку.В большинстве случаев использования [требуется цитирование] добавление текста в текстовый файл означает добавление новых строк данных.Не добавление существующей строки.На самом деле есть отдельный переключатель для предотвращения перевода строки: Add-Content -NoNewLine
.
Более того, языки высокого уровня не имеют определенного символа завершения строки.Если у кого-то есть строковый объект, как в современных языках, длина строки сохраняется как атрибут строкового объекта.
В языках низкого уровня понятие строки отсутствует.Это просто набор персонажей, собранных вместе.Как тогда узнать, где начинается и заканчивается «строка»?Подход Паскаля заключается в выделении байта в начале, чтобы он содержал фактическую длину строки данных.C использует строки с нулевым символом в конце .В DOS ассемблерные программы использовали определяемые долларом строки.