Delen via


Format-Hex

Geeft een bestand of andere invoer weer als hexadecimaal.

Syntax

Format-Hex
      [-Path] <string[]>
      [<CommonParameters>]
Format-Hex
      -LiteralPath <string[]>
      [<CommonParameters>]
Format-Hex
      -InputObject <Object>
      [-Encoding <string>]
      [<CommonParameters>]

Description

De Format-Hex cmdlet geeft een bestand of andere invoer weer als hexadecimale waarden. Als u de verschuiving van een teken uit de uitvoer wilt bepalen, voegt u het getal uiterst links van de rij toe aan het getal boven aan de kolom voor dat teken.

De Format-Hex cmdlet kan u helpen bij het bepalen van het bestandstype van een beschadigd bestand of een bestand dat mogelijk geen bestandsnaamextensie heeft. U kunt deze cmdlet uitvoeren en vervolgens de hexadecimale uitvoer lezen om bestandsinformatie op te halen.

Wanneer u op Format-Hex een bestand gebruikt, negeert de cmdlet nieuwe regeltekens en retourneert de volledige inhoud van een bestand in één tekenreeks met behoud van de nieuwe regeltekens.

Voorbeelden

Voorbeeld 1: De hexadecimale weergave van een tekenreeks ophalen

Met deze opdracht worden de hexadecimale waarden van een tekenreeks geretourneerd.

'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

De tekenreeks Hallo wereld wordt door de pijplijn naar de Format-Hex cmdlet verzonden. De hexadecimale uitvoer van Format-Hex toont de waarden van elk teken in de tekenreeks.

Voorbeeld 2: Een bestandstype zoeken uit hexadecimale uitvoer

In dit voorbeeld wordt de hexadecimale uitvoer gebruikt om het bestandstype te bepalen. De cmdlet geeft het volledige pad van het bestand en de hexadecimale waarden weer.

Als u de volgende opdracht wilt testen, maakt u een kopie van een bestaand PDF-bestand op uw lokale computer en wijzigt u de naam van het gekopieerde bestand in 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

De Format-Hex cmdlet gebruikt de parameter Path om een bestandsnaam op te geven in de huidige map , File.t7f. De bestandsextensie .t7f is ongebruikelijk, maar de hexadecimale uitvoer %PDF laat zien dat het een PDF-bestand is.

Parameters

-Encoding

Hiermee geeft u de codering van de uitvoer. Dit geldt alleen voor [string] invoer. De parameter heeft geen invloed op numerieke typen. De standaardwaarde is ASCII.

De acceptabele waarden voor deze parameter zijn als volgt:

  • ASCII Maakt gebruik van ASCII-tekenset (7-bits).
  • BigEndianUnicode Gebruikt UTF-16 met de bytevolgorde big-endian.
  • Unicode Gebruikt UTF-16 met de bytevolgorde little-endian.
  • UTF7 Maakt gebruik van UTF-7.
  • UTF8 Maakt gebruik van UTF-8.
  • UTF32 Gebruikt UTF-32 met de bytevolgorde little-endian.

Niet-ASCII-tekens in de invoer worden uitgevoerd als letterlijke ? tekens, wat resulteert in verlies van informatie.

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

Wordt gebruikt voor pijplijninvoer. Pijplijninvoer ondersteunt alleen [string] en-exemplaren [system.io.fileinfo] voor pijplijnen van Get-ChildItem.

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

-LiteralPath

Hiermee geeft u het volledige pad naar een bestand. De waarde van LiteralPath wordt precies gebruikt zoals deze wordt getypt. Deze parameter accepteert geen jokertekens. Als u meerdere paden naar bestanden wilt opgeven, scheidt u de paden met een komma. Als de parameter LiteralPath escape-tekens bevat, plaatst u het pad tussen enkele aanhalingstekens. PowerShell interpreteert geen tekens in één tekenreeks met aanhalingstekens als escape-reeksen. Zie about_Quoting_Rules voor meer informatie.

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

-Path

Hiermee geeft u het pad naar bestanden. Gebruik een punt (.) om de huidige locatie op te geven. Het jokerteken (*) wordt geaccepteerd en kan worden gebruikt om alle items op een locatie op te geven. Als de parameter Path escape-tekens bevat, plaatst u het pad tussen enkele aanhalingstekens. Als u meerdere paden naar bestanden wilt opgeven, scheidt u de paden met een komma.

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

Invoerwaarden

String

U kunt een tekenreeks doorsnijden naar deze cmdlet.

Uitvoerwaarden

ByteCollection

Deze cmdlet retourneert een ByteCollection. Dit object vertegenwoordigt een verzameling bytes. Het bevat methoden waarmee de verzameling bytes wordt geconverteerd naar een tekenreeks die is opgemaakt zoals elke regel uitvoer die wordt geretourneerd door Format-Hex. Als u de parameter Path of LiteralPath opgeeft, bevat het object ook het pad van het bestand dat elke byte bevat.

Notities

De meest rechtse kolom met uitvoer probeert de bytes weer te geven als tekens:

Over het algemeen wordt elke byte geïnterpreteerd als een Unicode-codepunt, wat betekent dat:

  • Afdrukbare ASCII-tekens worden altijd correct weergegeven
  • Multi-byte UTF-8-tekens worden nooit correct weergegeven
  • UTF-16-tekens worden alleen correct weergegeven als hun byte met hoge volgorde plaatsvindt NUL.