Format-Hex
Geeft een bestand of andere invoer weer als hexadecimaal.
Syntax
Path (Standaard)
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
LiteralPath
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
ByInputObject
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<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 aan de linkerkant 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 bestandsgegevens op te halen.
Wanneer u Format-Hex op een bestand gebruikt, worden nieuwelinetekens genegeerd en wordt de volledige inhoud van een bestand in één tekenreeks geretourneerd, waarbij de nieuwe regeltekens behouden blijven.
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 Hello World- wordt 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 de 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 cmdlet Format-Hex 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.
Voorbeeld 3: Onbewerkte hexadecimale uitvoer weergeven
Standaard Format-Hex kiest voor compacte uitvoer van numerieke gegevenstypen: reeksen met één byte of dubbel-byte worden gebruikt als de waarde klein genoeg is. Met de parameter Raw wordt dit gedrag gedeactiveerd.
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 ............è...
Let op het verschil in uitvoer. De parameter Raw geeft de getallen weer als vier bytewaarden, waar voor de Int32 typen.
Parameters
-Encoding
Hiermee geeft u de codering van de uitvoer. Dit geldt alleen voor [string] invoer. De parameter heeft geen effect op numerieke typen. De standaardwaarde is ASCII.
De acceptabele waarden voor deze parameter zijn als volgt:
-
AsciiMaakt gebruik van ASCII-tekenset (7-bits). -
BigEndianUnicodegebruikt UTF-16 met de bytevolgorde big-endian. -
Unicodegebruikt UTF-16 met de bytevolgorde little-endian. -
UTF7maakt gebruik van UTF-7. -
UTF8Maakt gebruik van UTF-8. -
UTF32gebruikt UTF-32 met de bytevolgorde little-endian.
Niet-ASCII-tekens in de invoer zijn uitvoer als letterlijke ? tekens die leiden tot verlies van informatie.
Parametereigenschappen
| Type: | String |
| Default value: | ASCII |
| Geaccepteerde waarden: | ASCII, BigEndianUnicode, Unicode, UTF7, UTF8, UTF32 |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
ByInputObject
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-InputObject
Specificeert de objecten die opgemaakt moeten worden. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.
Alleen bepaalde scalaire typen en [System.IO.FileInfo] worden ondersteund.
De ondersteunde scalaire typen zijn:
[string][byte]-
[int],[int32] -
[long],[int64]
Parametereigenschappen
| Type: | Object |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
ByInputObject
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-LiteralPath
Hiermee geeft u het volledige pad naar een bestand. De waarde van LiteralPath- wordt exact gebruikt zoals deze is 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 tussen aanhalingstekens als escapereeksen. Zie about_Quoting_Rulesvoor meer informatie.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | PSPath |
Parametersets
LiteralPath
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | 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 Pad escapetekens bevat, plaatst u het pad tussen enkele aanhalingstekens. Als u meerdere paden naar bestanden wilt opgeven, scheidt u de paden met een komma.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
Path
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Raw
Standaard Format-Hex kiest voor compacte uitvoer van numerieke gegevenstypen: reeksen met één byte of dubbel-byte worden gebruikt als de waarde klein genoeg is. Met de parameter Raw wordt dit gedrag gedeactiveerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
ByInputObject
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
String
U kunt een tekenreeks doorsluizen naar deze cmdlet.
Uitvoerwaarden
ByteCollection
Met deze cmdlet wordt een ByteCollection-geretourneerd. 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
Windows PowerShell bevat de volgende aliassen voor Format-Hex:
fhx
De meest rechtse kolom met uitvoer probeert de bytes als tekens weer te geven:
Over het algemeen wordt elke byte geïnterpreteerd als een Unicode-codepunt, wat betekent dat:
- Afdrukbare ASCII-tekens worden altijd correct weergegeven
- UTF-8 tekens met meerdere bytes worden nooit correct weergegeven
- UTF-16 tekens worden alleen correct weergegeven als hun byte in hoge volgorde plaatsvindt
NUL.