Format-Hex
Visualizza un file o un altro input come esadecimale.
Sintassi
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[<CommonParameters>]
Descrizione
Il Format-Hex
cmdlet visualizza un file o un altro input come valori esadecimali. Per determinare l'offset di un carattere dall'output, aggiungere il numero all'estremità sinistra della riga al numero nella parte superiore della colonna per tale carattere.
Il Format-Hex
cmdlet può essere utile per determinare il tipo di file di un file danneggiato o un file che potrebbe non avere un'estensione del nome file. È possibile eseguire questo cmdlet e quindi leggere l'output esadecimale per ottenere informazioni sui file.
Quando si usa Format-Hex
in un file, il cmdlet ignora i caratteri di nuova riga e restituisce l'intero contenuto di un file in una stringa con i caratteri di nuova riga mantenuti.
Esempio
Esempio 1: Ottenere la rappresentazione esadecimale di una stringa
Questo comando restituisce i valori esadecimali di una stringa.
'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
La stringa Hello World viene inviata alla pipeline al Format-Hex
cmdlet. L'output esadecimale da Format-Hex
mostra i valori di ogni carattere nella stringa.
Esempio 2: Trovare un tipo di file dall'output esadecimale
In questo esempio viene usato l'output esadecimale per determinare il tipo di file. Il cmdlet visualizza il percorso completo del file e i valori esadecimali.
Per testare il comando seguente, creare una copia di un file PDF esistente nel computer locale e rinominare il file copiato 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
Il Format-Hex
cmdlet usa il parametro Path per specificare un nome file nella directory corrente, File.t7f. L'estensione del file .t7f è rara, ma l'output esadecimale %PDF mostra che è un file PDF.
Parametri
-Encoding
Specifica la codifica dell'output. Questo vale solo per l'input [string]
. Il parametro non ha alcun effetto sui tipi numerici. Il valore predefinito è ASCII.
I valori accettabili per questo parametro sono i seguenti:
- ASCII Usa il set di caratteri ASCII (a 7 bit).
- BigEndianUnicode Usa UTF-16 con l'ordine di byte big-endian.
- Unicode Usa UTF-16 con l'ordine di byte little-endian.
- UTF7 Usa UTF-7.
- UTF8 Usa UTF-8.
- UTF32 Usa UTF-32 con l'ordine di byte little-endian.
I caratteri non ASCII nell'input vengono restituiti come caratteri letterali ?
che causano una perdita di informazioni.
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
Usato per l'input della pipeline. L'input della pipeline supporta solo [string]
e [system.io.fileinfo]
istanze per il piping da Get-ChildItem
.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Specifica il percorso completo di un file. Il valore di LiteralPath viene usato esattamente come viene digitato. Questo parametro non accetta caratteri jolly. Per specificare più percorsi per i file, separare i percorsi con una virgola. Se il parametro LiteralPath include caratteri di escape, racchiudere il percorso tra virgolette singole. PowerShell non interpreta i caratteri in una singola stringa con virgolette come sequenze di escape. Per altre informazioni, vedere about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifica il percorso dei file. Usare un punto (.
) per specificare la posizione corrente. Il carattere jolly (*
) viene accettato e può essere usato per specificare tutti gli elementi in una posizione. Se il parametro Path include caratteri di escape, racchiudere il percorso tra virgolette singole. Per specificare più percorsi per i file, separare i percorsi con una virgola.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Input
È possibile eseguire la pipe di una stringa a questo cmdlet.
Output
Questo cmdlet restituisce un ByteCollection. Questo oggetto rappresenta una raccolta di byte. Include metodi che convertono la raccolta di byte in una stringa formattata come ogni riga di output restituita da Format-Hex
. Se si specifica il parametro Path o LiteralPath , l'oggetto contiene anche il percorso del file che contiene ogni byte.
Note
La colonna più a destra dell'output tenta di eseguire il rendering dei byte come caratteri:
In genere, ogni byte viene interpretato come punto di codice Unicode, il che significa che:
- I caratteri ASCII stampabili vengono sempre visualizzati correttamente
- I caratteri UTF-8 multi-byte non vengono mai visualizzati correttamente
- I caratteri UTF-16 vengono visualizzati correttamente solo se si verifica un byte elevato.
NUL