Format-Hex
Affiche un fichier ou une autre entrée en hexadécimal.
Syntaxe
Path (Par défaut)
Format-Hex
[-Path] <string[]>
[<CommonParameters>]
LiteralPath
Format-Hex
-LiteralPath <string[]>
[<CommonParameters>]
ByInputObject
Format-Hex
-InputObject <Object>
[-Encoding <string>]
[-Raw]
[<CommonParameters>]
Description
L’applet de commande Format-Hex affiche un fichier ou une autre entrée sous forme de valeurs hexadécimales. Pour déterminer le décalage d’un caractère de la sortie, ajoutez le nombre le plus à gauche de la ligne au nombre situé en haut de la colonne pour ce caractère.
L’applet de commande Format-Hex peut vous aider à déterminer le type de fichier d’un fichier endommagé ou un fichier qui n’a peut-être pas d’extension de nom de fichier. Vous pouvez exécuter cette applet de commande, puis lire la sortie hexadécimale pour obtenir des informations sur le fichier.
Lorsque vous utilisez Format-Hex sur un fichier, l’applet de commande ignore les caractères de nouvelle ligne et retourne l’intégralité du contenu d’un fichier dans une chaîne avec les caractères de nouvelle ligne conservés.
Exemples
Exemple 1 : Obtenir la représentation hexadécimale d’une chaîne
Cette commande retourne les valeurs hexadécimales d’une chaîne.
'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 chaîne Hello World est envoyée au pipeline à l’applet de commande Format-Hex. La sortie hexadécimale de Format-Hex affiche les valeurs de chaque caractère de la chaîne.
Exemple 2 : Rechercher un type de fichier à partir d’une sortie hexadécimale
Cet exemple utilise la sortie hexadécimale pour déterminer le type de fichier. L’applet de commande affiche le chemin complet du fichier et les valeurs hexadécimales.
Pour tester la commande suivante, effectuez une copie d’un fichier PDF existant sur votre ordinateur local et renommez le fichier copié en 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
L’applet de commande Format-Hex utilise le paramètre Path pour spécifier un nom de fichier dans le répertoire actif, File.t7f. L’extension de fichier .t7f est rare, mais la sortie hexadécimale %PDF indique qu’il s’agit d’un fichier PDF.
Exemple 3 : Afficher la sortie hexadécimale brute
Par défaut, Format-Hex opte pour la sortie compacte des types de données numériques : des séquences d’octets uniques ou double octets sont utilisées si la valeur est suffisamment petite. Le paramètre Raw désactive ce comportement.
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 ............è...
Notez la différence dans la sortie. Le paramètre Raw affiche les nombres sous forme de valeurs de 4 octets, true à leurs types Int32.
Paramètres
-Encoding
Spécifie l’encodage de la sortie. Cela s’applique uniquement à l’entrée [string]. Le paramètre n’a aucun effet sur les types numériques. La valeur par défaut est ASCII.
Les valeurs acceptables pour ce paramètre sont les suivantes :
-
Asciiutilise le jeu de caractères ASCII (7 bits). -
BigEndianUnicodeutilise UTF-16 avec l’ordre d’octet big-endian. -
Unicodeutilise UTF-16 avec l’ordre d’octet little-endian. -
UTF7utilise UTF-7. -
UTF8utilise UTF-8. -
UTF32utilise UTF-32 avec l’ordre d’octet little-endian.
Les caractères non ASCII dans l’entrée sont générés en tant que caractères littéraux ? qui entraînent une perte d’informations.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | ASCII |
| Valeurs acceptées: | ASCII, BigEndianUnicode, Unicode, UTF7, UTF8, UTF32 |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByInputObject
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie les objets à mettre en forme. Entrez une variable qui contient les objets ou tapez une commande ou une expression qui obtient les objets.
Seuls certains types scalaires et [System.IO.FileInfo] sont pris en charge.
Les types scalaires pris en charge sont les suivants :
[string][byte]-
[int],[int32] -
[long],[int64]
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByInputObject
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-LiteralPath
Spécifie le chemin d’accès complet à un fichier. La valeur de LiteralPath est utilisée exactement comme elle est typée. Ce paramètre n’accepte pas les caractères génériques. Pour spécifier plusieurs chemins d’accès aux fichiers, séparez les chemins d’accès par une virgule. Si le paramètre LiteralPath inclut des caractères d’échappement, placez le chemin entre guillemets simples. PowerShell n’interprète aucun caractère dans une chaîne entre guillemets unique comme séquences d’échappement. Pour plus d'informations, consultez la section sur les règles de citation.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | PSPath |
Jeux de paramètres
LiteralPath
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Path
Spécifie le chemin d’accès aux fichiers. Utilisez un point (.) pour spécifier l’emplacement actuel. Le caractère générique (*) est accepté et peut être utilisé pour spécifier tous les éléments d’un emplacement. Si le paramètre Path inclut des caractères d’échappement, placez le chemin entre guillemets simples. Pour spécifier plusieurs chemins d’accès aux fichiers, séparez les chemins d’accès par une virgule.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
Path
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Raw
Par défaut, Format-Hex opte pour la sortie compacte des types de données numériques : des séquences d’octets uniques ou double octets sont utilisées si la valeur est suffisamment petite. Le paramètre Raw désactive ce comportement.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByInputObject
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
String
Vous pouvez diriger une chaîne vers cette applet de commande.
Sorties
ByteCollection
Cette applet de commande retourne une ByteCollection. Cet objet représente une collection d’octets. Il inclut des méthodes qui convertissent la collection d’octets en chaîne mise en forme comme chaque ligne de sortie retournée par Format-Hex. Si vous spécifiez le paramètre Path ou LiteralPath, l’objet contient également le chemin d’accès du fichier qui contient chaque octet.
Notes
Windows PowerShell inclut les alias suivants pour Format-Hex:
fhx
La colonne de sortie la plus à droite tente d’afficher les octets sous forme de caractères :
En règle générale, chaque octet est interprété comme un point de code Unicode, ce qui signifie que :
- Les caractères ASCII imprimables sont toujours affichés correctement
- Les caractères UTF-8 multioctets ne s’affichent jamais correctement
- Les caractères UTF-16 s’affichent correctement uniquement si leur octet d’ordre élevé se produit
NUL.