Format-Hex
Отображает файл или другие входные данные как шестнадцатеричные.
Синтаксис
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
Описание
Командлет Format-Hex
отображает файл или другие входные данные в виде шестнадцатеричных значений. Чтобы определить смещение символа из выходных данных, добавьте число в самую левую часть строки в число в верхней части столбца для этого знака.
Командлет Format-Hex
может помочь определить тип файла поврежденного файла или файла, который может не иметь расширения имени файла. Этот командлет можно запустить, а затем прочитать шестнадцатеричные выходные данные, чтобы получить сведения о файле.
При использовании Format-Hex
в файле командлет игнорирует символы новой строки и возвращает все содержимое файла в одной строке с сохраненными символами новой строки.
Примеры
Пример 1. Получение шестнадцатеричного представления строки
Эта команда возвращает шестнадцатеричные значения строки.
'Hello World' | Format-Hex
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 48 65 6C 6C 6F 20 57 6F 72 6C 64 Hello World
Строка Hello World отправляется по конвейеру командлету Format-Hex
. Шестнадцатеричные выходные данные Format-Hex
отображают значения каждого символа в строке.
Пример 2. Поиск типа файла из шестнадцатеричных выходных данных
В этом примере шестнадцатеричные выходные данные используются для определения типа файла. Командлет отображает полный путь к файлу и шестнадцатеричные значения.
Чтобы проверить следующую команду, создайте копию существующего PDF-файла на локальном компьютере и переименуйте скопированный файл в File.t7f.
Format-Hex -Path .\File.t7f
Path: C:\Test\File.t7f
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D %PDF-1.5..%????.
00000010 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 .1 0 obj..<</Typ
00000020 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 e/Catalog/Pages
Командлет Format-Hex
использует параметр Path для указания имени файла в текущем каталоге File.t7f
. Расширение .t7f
файла является редким, но шестнадцатеричные выходные данные %PDF
показывают, что это PDF-файл.
Пример 3. Отображение необработанных шестнадцатеричных выходных данных
По умолчанию Format-Hex
используется компактный вывод числовых типов данных: однобайтовые или двойные байтовые последовательности используются, если значение достаточно мало. Необработанный параметр деактивирует это поведение.
PS> 1,2,3,1000 | Format-Hex
Path:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 01 02 03 E8 03 ...è.
PS> 1,2,3,1000 | Format-Hex -Raw
Path:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 01 00 00 00 02 00 00 00 03 00 00 00 E8 03 00 00 ............è...
Обратите внимание на разницу в выходных данных. Необработанный параметр отображает числа в виде 4-байтовых значений, верных их типам Int32.
Параметры
-Encoding
Задает кодировку выходных данных. Это относится только к [string]
входным данным. Параметр не влияет на числовые типы. Значение по умолчанию — ASCII
.
Допустимые значения для этого параметра приведены следующим образом:
Ascii
Использует набор символов ASCII (7-разрядный).BigEndianUnicode
Использует UTF-16 с порядком байтов больших байтов.Unicode
Использует UTF-16 с маленьким порядком байтов.UTF7
Использует UTF-7.UTF8
Использует UTF-8.UTF32
Использует UTF-32 с маленьким порядком байтов.
Символы, отличные от ASCII во входе, являются выходными в виде литеральных ?
символов, что приводит к потере информации.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | ASCII |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Задает объекты, подлежащие форматированию. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Поддерживаются только некоторые скалярные типы [system.io.fileinfo]
.
Поддерживаемые скалярные типы:
[string]
[byte]
[int]
,[int32]
[long]
,[int64]
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Указывает полный путь к файлу. Значение LiteralPath используется точно так же, как он типизированный. Этот параметр не принимает дикие карта символы. Чтобы указать несколько путей к файлам, разделите пути с запятой. Если параметр LiteralPath содержит escape-символы, заключите путь в одинарные кавычки. PowerShell не интерпретирует никакие символы в одной кавычки как escape-последовательности. Дополнительные сведения см. в about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к файлам. Используйте точку (.
), чтобы указать текущее расположение. Символ дикого карта (*
) принимается и может использоваться для указания всех элементов в расположении. Если параметр Path содержит escape-символы, заключите путь в одинарные кавычки. Чтобы указать несколько путей к файлам, разделите пути с запятой.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Raw
По умолчанию Format-Hex
используется компактный вывод числовых типов данных: однобайтовые или двойные байтовые последовательности используются, если значение достаточно мало. Необработанный параметр деактивирует это поведение.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать строку в этот командлет.
Выходные данные
Этот командлет возвращает ByteCollection. Этот объект представляет коллекцию байтов. Он включает методы, которые преобразуют коллекцию байтов в строку, отформатированную как каждая строка выходных данных, возвращаемая Format-Hex
. Если указать параметр Path или LiteralPath , объект также содержит путь к файлу, который содержит каждый байт.
Примечания
Windows PowerShell включает следующие псевдонимы для Format-Hex
:
fhx
Правый столбец выходных данных пытается отобразить байты в виде символов:
Как правило, каждый байт интерпретируется как кодовая точка Юникода, что означает следующее:
- Отображаемые символы ASCII всегда отображаются правильно
- Многобайтовые символы UTF-8 никогда не отображаются правильно
- Символы UTF-16 отрисовываются правильно, только если их байты высокого порядка выполняются
NUL
.
Связанные ссылки
PowerShell
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по