64 votes

Transformer l'octet en nombre hexadécimal à deux chiffres en utilisant simplement ToString ?

Je peux transformer un octet en un nombre hexadécimal comme ceci :

 myByte.ToString("X")

mais il n'aura qu'un seul chiffre s'il est inférieur à 0x10. J'en ai besoin avec un zéro non significatif. Existe-t-il une chaîne de formatage qui permet de faire cela en un seul appel à ToString ?

150voto

romkyns Points 17295

myByte.ToString("X2") je crois.

-2voto

Ali Tofigh Points 287

Peut-être que vous aimez le faire comme ci-dessous :

 private static void byte2hex(byte b, StringBuilder buf)
    {
        char[] hexChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                            'A', 'B', 'C', 'D', 'E', 'F' };
        int high = ((b & 0xf0) >> 4);
        int low = (b & 0x0f);
        buf.Append(hexChars[high]);
        buf.Append(hexChars[low]);
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X