web-dev-qa-db-fra.com

Convertir int en hex avec des zéros non significatifs

Comment convertir int (4 octets) en hex ("XX XX XX XX") Sans cycles?

par exemple:

i=13 hex="00 00 00 0D"

i.ToString("X") renvoie "D", mais j'ai besoin d'une valeur hexadécimale de 4 octets.

38
user2264990

Vous pouvez spécifier le nombre minimum de chiffres en ajoutant le nombre de chiffres hexadécimal souhaité à la chaîne de format X. Étant donné que deux chiffres hexadécimaux correspondent à un octet, votre exemple avec 4 octets nécessite 8 chiffres hexadécimaux. c'est-à-dire utiliser i.ToString("X8").

Si vous voulez des lettres minuscules, utilisez x au lieu de X. Par exemple, 13.ToString("x8") correspond à 0000000d.

63
CodesInChaos

essaye ça:

int innum = 123;
string Hex = innum .ToString("X");  // gives you hex "7B"
string Hex = innum .ToString("X8");  // gives you hex 8 digit "0000007B"
11
KF2