Dela via


Format-Hex

Visar en fil eller andra indata som hexadecimala.

Syntax

Format-Hex
      [-Path] <string[]>
      [-Count <long>]
      [-Offset <long>]
      [<CommonParameters>]
Format-Hex
      -LiteralPath <string[]>
      [-Count <long>]
      [-Offset <long>]
      [<CommonParameters>]
Format-Hex
      -InputObject <psobject>
      [-Encoding <Encoding>]
      [-Count <long>]
      [-Offset <long>]
      [-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 den hexadecimala representationen 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.

Om du vill testa följande kommando gör du en kopia av en befintlig PDF-fil på den lokala datorn och byter 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.

Parametrar

-Count

Detta representerar antalet byte som ska inkluderas i hexadecimala utdata.

Den här parametern introducerades i PowerShell 6.2.

Type:Int64
Position:Named
Default value:Int64.MaxValue
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encoding

Anger kodningen av utdata. Detta gäller endast för [string] indata. Parametern har ingen effekt på numeriska typer. Standardvärdet är utf8NoBOM.

Godkända värden för den här parametern är följande:

  • ascii: Använder kodningen för ASCII-teckenuppsättningen (7-bitars).
  • bigendianunicode: Kodar i UTF-16-format med hjälp av den stora byteordningen.
  • oem: Använder standardkodning för MS-DOS och konsolprogram.
  • unicode: Kodar i UTF-16-format med den little-endianska byteordningen.
  • utf7: Kodar i UTF-7-format.
  • utf8: Kodar i UTF-8-format.
  • utf8BOM: Kodar i UTF-8-format med BOM (Byte Order Mark)
  • utf8NoBOM: Kodar i UTF-8-format utan bom (Byte Order Mark)
  • utf32: Kodar i UTF-32-format.

Från och med PowerShell 6.2 tillåter kodningsparametern även numeriska ID:er för registrerade kodsidor (till exempel -Encoding 1251) eller strängnamn för registrerade kodsidor (till exempel -Encoding "windows-1251"). Mer information finns i .NET-dokumentationen för Encoding.CodePage.

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Används för pipelineindata. Pipelineindata stöder endast vissa skalära typer och [system.io.fileinfo] instanser för rörledningar från Get-ChildItem.

Skalära typer som stöds är:

  • [string], [char]
  • [byte], [sbyte]
  • [int16], [uint16], [short], [ushort]
  • [int], [uint], [int32], [uint32],
  • [long], [ulong], [int64], [uint64]
  • [single], [float], [double]
Type:PSObject
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 avgränsar du sökvägarna med 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, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Offset

Detta representerar antalet byte som ska hoppa från att ingå i hexadecimala utdata.

Den här parametern introducerades i PowerShell 6.2.

Type:Int64
Position:Named
Default value:0
Required:False
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 avgränsar du sökvägarna med kommatecken.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Raw

Den här parametern gör inte längre något. Den behålls för skriptkompatibilitet.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

String

Du kan skicka en sträng till den här cmdleten.

Utdata

ByteCollection

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

Den högra kolumnen med utdata försöker återge bytena som ASCII-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 byte i hög ordning inträffar är NUL.