Comment puis-je formater un nombre entier à un hex à deux chiffres?
Quelqu'un sait-il comment obtenir un chr à l'hex de conversion où la sortie est toujours à deux chiffres?
par exemple, si ma conversion des rendements 0x1, j'ai besoin de les convertir à 0x01
depuis que je suis de la concaténation d'une longue chaîne hexadécimale.
Le code que j'utilise est:
hexStr += hex(ord(byteStr[i]))[2:]
source d'informationauteur Alex
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la chaîne de mise en forme pour cette fin:
Modifier: Votre code suggère que vous essayez de convertir une chaîne en un hexstring représentation. Il y a un moyen beaucoup plus facile de le faire (Python2.x):
Une alternative (qui fonctionne également en Python 3.x) est la fonction
binascii.hexlify()
.Vous pouvez utiliser la fonction format:
Vous n'aurez pas besoin de retirer le
0x
partie avec que (comme vous l'avez fait avec le[2:]
)Le module standard
binascii
peut également être la réponse, à savoir quand vous avez besoin de convertir une longue chaîne:Utilisation format au lieu d'utiliser la fonction hex:
Vous pouvez également modifier le numéro "2" sur le nombre de chiffres que vous voulez, et le "X" "x" pour choisir entre les majuscules et les minuscules représentation de l'hex alphanumérique chiffres.
Par beaucoup, il est considéré comme le vieil %-mise en forme de style en Python, mais je l'aime parce que le format des chaînes de caractères syntaxe est la même que celle utilisée par d'autres langages, comme le C et le Java.
La plus simple façon (je pense) est de:
sera d'impression:
Le nombre après l' % seront convertis au sortilège de l'intérieur de la chaîne, je pense qu'il est clair de cette façon, et à partir de gens qui est venu à partir d'un C en arrière-plan (comme moi) se sent plus comme à la maison