web-dev-qa-db-fra.com

Quelle est la signification de ToString ("X2")?

J'étudie le cryptage MD5 et j'ai trouvé ce code avec Google:

    public string CalculateMD5Hash(string input)
    {

        // Primeiro passo, calcular o MD5 hash a partir da string
        MD5 md5 = System.Security.Cryptography.MD5.Create();
        byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
        byte[] hash = md5.ComputeHash(inputBytes);

        // Segundo passo, converter o array de bytes em uma string haxadecimal
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < hash.Length; i++)
        {
            sb.Append(hash[i].ToString("X2"));
        }
        return sb.ToString();
    }

Pourquoi utilise-t-il ToString("X2")? En quoi est-il différent de la normale ToString?

67
Lai32290

Il formate la chaîne en deux caractères hexadécimaux majuscules.

De manière plus approfondie, l'argument "X2" Est une "chaîne de formatage" qui indique à la méthode ToString() comment formater la chaîne. Dans ce cas, "X2" indique que la chaîne doit être formatée en hexadécimal.

byte.ToString() sans aucun argument renvoie le nombre dans sa représentation décimale naturelle, sans remplissage.

Microsoft documente les chaînes de format numérique standard qui fonctionnent généralement avec toutes les méthodes ToString() de types numériques primitives. Ce même modèle est également utilisé pour d'autres types: par exemple, chaînes de format de date/heure standard peut être utilisé avec DateTime.ToString().

85
TypeIA

Il imprime le byte au format hexadécimal.

Aucune chaîne de format: 13

Chaîne de format 'X2': 0D

http://msdn.Microsoft.com/en-us/library/aa311428 (v = vs.71) .aspx

41
Dave Zych

ToString ("X2") imprime l’entrée en hexadécimal

8
Dominic B.