Format-Hex
Zobrazí soubor nebo jiný vstup jako šestnáctkový.
Syntax
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
Description
Rutina Format-Hex
zobrazí soubor nebo jiný vstup jako šestnáctkové hodnoty. Pokud chcete určit posun znaku z výstupu, přidejte číslo vlevo od řádku k číslu v horní části sloupce daného znaku.
Rutina Format-Hex
vám může pomoct určit typ souboru poškozeného souboru nebo souboru, který nemusí mít příponu názvu souboru. Tuto rutinu můžete spustit a pak přečíst šestnáctkový výstup a získat informace o souboru.
Při použití Format-Hex
v souboru rutina ignoruje znaky nového řádku a vrátí celý obsah souboru v jednom řetězci se zachovanými znaky nového řádku.
Příklady
Příklad 1: Získání šestnáctkové reprezentace řetězce
Tento příkaz vrátí šestnáctkové hodnoty řetězce.
'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
Řetězec Hello World se odešle kanálu do rutiny Format-Hex
. Šestnáctkový výstup zobrazuje Format-Hex
hodnoty jednotlivých znaků v řetězci.
Příklad 2: Vyhledání typu souboru z šestnáctkového výstupu
Tento příklad používá šestnáctkový výstup k určení typu souboru. Rutina zobrazí úplnou cestu k souboru a šestnáctkové hodnoty.
Pokud chcete otestovat následující příkaz, vytvořte kopii existujícího souboru PDF na místním počítači a přejmenujte zkopírovaný soubor na 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
Rutina Format-Hex
používá parametr Path k určení názvu souboru v aktuálním adresáři. File.t7f
Přípona .t7f
souboru je neobvyklá, ale šestnáctkový výstup %PDF
ukazuje, že se jedná o soubor PDF.
Příklad 3: Zobrazení nezpracované šestnáctkového výstupu
Ve výchozím nastavení Format-Hex
se rozhodnete pro kompaktní výstup číselných datových typů: sekvence s jedním bajtem nebo dvojitým bajtem se použijí, pokud je hodnota dostatečně malá. Nezpracovaný parametr toto chování deaktivuje.
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 ............è...
Všimněte si rozdílu ve výstupu. Parametr Raw zobrazí čísla jako 4 bajtové hodnoty, které platí pro jejich typy Int32 .
Parametry
-Encoding
Určuje kódování výstupu. To platí jenom pro [string]
vstup. Parametr nemá žádný vliv na číselné typy. Výchozí hodnota je ASCII
.
Přijatelné hodnoty pro tento parametr jsou následující:
Ascii
Používá znakovou sadu ASCII (7bitová).BigEndianUnicode
Používá UTF-16 s pořadím velkých bajtů.Unicode
Používá UTF-16 s minimálním pořadím bajtů.UTF7
Používá UTF-7.UTF8
Používá UTF-8.UTF32
Používá UTF-32 s minimálním pořadím bajtů.
Znaky jiné než ASCII ve vstupu jsou výstupem jako literální ?
znaky, což vede ke ztrátě informací.
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
Určuje objekty, které mají být formátovány. Zadejte proměnnou obsahující objekty nebo zadejte příkaz nebo výraz, který objekty získá.
Podporují se pouze určité skalární typy [system.io.fileinfo]
.
Mezi podporované skalární typy patří:
[string]
[byte]
[int]
,[int32]
[long]
,[int64]
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Určuje úplnou cestu k souboru. Hodnota LiteralPath se používá přesně tak, jak je zadána. Tento parametr nepřijímá zástupné znaky. Pokud chcete zadat více cest k souborům, oddělte je čárkou. Pokud parametr LiteralPath obsahuje řídicí znaky, uzavřete cestu do jednoduchých uvozovek. PowerShell neinterpretuje žádné znaky v jednom řetězci v uvozování jako řídicí sekvence. Další informace najdete v tématu about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Určuje cestu k souborům. K určení aktuálního umístění použijte tečku (.
). Zástupný znak (*
) je přijat a lze jej použít k určení všech položek v umístění. Pokud parametr Path obsahuje řídicí znaky, uzavřete cestu do jednoduchých uvozovek. Pokud chcete zadat více cest k souborům, oddělte je čárkou.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Raw
Ve výchozím nastavení Format-Hex
se rozhodnete pro kompaktní výstup číselných datových typů: sekvence s jedním bajtem nebo dvojitým bajtem se použijí, pokud je hodnota dostatečně malá. Nezpracovaný parametr toto chování deaktivuje.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Do této rutiny můžete zamísit řetězec.
Výstupy
Tato rutina vrátí ByteCollection. Tento objekt představuje kolekci bajtů. Obsahuje metody, které převádějí kolekci bajtů na řetězec formátovaný jako každý řádek výstupu vrácený Format-Hex
. Pokud zadáte parametr Path nebo LiteralPath , objekt obsahuje také cestu k souboru, který obsahuje každý bajt.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Format-Hex
:
fhx
Pravý sloupec výstupu se pokusí vykreslit bajty jako znaky:
Obecně platí, že každý bajt je interpretován jako bod kódu Unicode, což znamená, že:
- Tisknutelné znaky ASCII se vždy vykreslují správně.
- Vícebajtů znaků UTF-8 se nikdy nevykresluje správně
- UTF-16 znaků se správně vykreslují pouze v případě, že jejich bajt s vysokým pořadím nastane
NUL
.