Conversion vers Hex

Il est parfois nécessaire de transformer une valeur décimale (base 10) en hexadécimale (base 16) pour les besoins d’un outil.

Par exemple l’outil EMCACL est utilisé pour placer le SID d’un compte Isilon sur un share SMB. Or cet outil requiert le SID en hexa.

Voici un bout de code qui permet de transformer une chaîne de caractères contenant un nombre décimal en hexa.

On crée une variable avec un nombre quelconque qu’on appelle $a.

On utilise la méthode ToString de la classe Convert qui prend 2 paramètres, une variable de différents types et un format désiré. Pour l’exemple j’ai utilisé un string. Le 16 c’est pour hexa.

On prend le résultat qu’on met en majuscules, car par défaut il sera en minuscules.

Et on l’affiche.

Voici le code.

  • Sylvain

    Je vous propose aussi l’opérateur format, et un résultat un peu plus sympathique:
    $a=123456789
    « 0x{0:X8} » -f $a
    0x075BCD15

    La classe Convert est utile notamment pour le binaire (base 2 au lieu de base 16 dans les paramètres de ToString()).