Format-Hex
Visar en fil eller andra indata som hexadecimala.
Syntax
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
Description
Cmdleten Format-Hex
visar en fil eller andra indata som hexadecimala värden. För att fastställa förskjutningen av ett tecken från utdata lägger du till talet längst till vänster på raden till talet överst i kolumnen för det tecknet.
Cmdleten Format-Hex
kan hjälpa dig att fastställa filtypen för en skadad fil eller en fil som kanske inte har filnamnstillägget. Du kan köra den här cmdleten och sedan läsa hexadecimala utdata för att hämta filinformation.
När du använder Format-Hex
på en fil ignorerar cmdleten nya radtecken och returnerar hela innehållet i en fil i en sträng med de nya raderna bevarade.
Exempel
Exempel 1: Hämta hexadecimal representation av en sträng
Det här kommandot returnerar hexadecimala värden för en sträng.
'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
Strängen Hello World skickas ned i pipelinen till cmdleten Format-Hex
. Hexadecimala utdata från Format-Hex
visar värdena för varje tecken i strängen.
Exempel 2: Hitta en filtyp från hexadecimala utdata
I det här exemplet används hexadecimala utdata för att fastställa filtypen. Cmdleten visar filens fullständiga sökväg och hexadecimala värden.
Testa följande kommando genom att göra en kopia av en befintlig PDF-fil på den lokala datorn och byta namn på den kopierade filen till 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
Cmdleten Format-Hex
använder parametern Path för att ange ett filnamn i den aktuella katalogen, File.t7f
. Filnamnstillägget .t7f
är ovanligt, men hexadecimala utdata %PDF
visar att det är en PDF-fil.
Exempel 3: Visa råa hexadecimala utdata
Som standard Format-Hex
väljer du kompakta utdata från numeriska datatyper: sekvenser med en byte eller dubbla byte används om värdet är tillräckligt litet. Parametern Raw inaktiverar det här beteendet.
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 ............è...
Observera skillnaden i utdata. Parametern Raw visar talen som 4-bytesvärden, sanna för deras Int32-typer .
Parametrar
-Encoding
Anger kodningen av utdata. Detta gäller endast för [string]
indata. Parametern har ingen effekt på numeriska typer. Standardvärdet är ASCII
.
Godkända värden för den här parametern är följande:
Ascii
Använder ASCII-teckenuppsättning (7-bitars).BigEndianUnicode
Använder UTF-16 med storslutsbyteordningen.Unicode
Använder UTF-16 med den lilla slutpunktsbyteordningen.UTF7
Använder UTF-7.UTF8
Använder UTF-8.UTF32
Använder UTF-32 med den lilla slutpunktsbyteordningen.
Icke-ASCII-tecken i indata matas ut som literaltecken ?
, vilket resulterar i förlust av information.
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
Anger vilka objekt som ska formateras. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.
Endast vissa skalära typer och [system.io.fileinfo]
stöds.
Skalära typer som stöds är:
[string]
[byte]
[int]
,[int32]
[long]
,[int64]
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Anger den fullständiga sökvägen till en fil. Värdet för LiteralPath används exakt som det skrivs. Den här parametern accepterar inte jokertecken. Om du vill ange flera sökvägar till filer separerar du sökvägarna med ett kommatecken. Om parametern LiteralPath innehåller escape-tecken omger du sökvägen inom enkla citattecken. PowerShell tolkar inte några tecken i en enda citerad sträng som escape-sekvenser. Mer information finns i about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Anger sökvägen till filer. Använd en punkt (.
) för att ange den aktuella platsen. Jokertecknet (*
) accepteras och kan användas för att ange alla objekt på en plats. Om parametern Path innehåller escape-tecken omger du sökvägen inom enkla citattecken. Om du vill ange flera sökvägar till filer separerar du sökvägarna med ett kommatecken.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Raw
Som standard Format-Hex
väljer du kompakta utdata från numeriska datatyper: sekvenser med en byte eller dubbla byte används om värdet är tillräckligt litet. Parametern Raw inaktiverar det här beteendet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka en sträng till den här cmdleten.
Utdata
Den här cmdleten returnerar en ByteCollection. Det här objektet representerar en samling byte. Den innehåller metoder som konverterar samlingen byte till en sträng formaterad som varje rad med utdata som returneras av Format-Hex
. Om du anger parametern Path eller LiteralPath innehåller objektet även sökvägen till filen som innehåller varje byte.
Kommentarer
Windows PowerShell innehåller följande alias för Format-Hex
:
fhx
Den högra kolumnen med utdata försöker återge byte som tecken:
I allmänhet tolkas varje byte som en Unicode-kodpunkt, vilket innebär att:
- Utskrivbara ASCII-tecken återges alltid korrekt
- Utf-8 tecken med flera byte återges aldrig korrekt
- UTF-16 tecken återges korrekt endast om deras högordningsbyte inträffar är
NUL
.