Estoy tratando de crear una representación hexadecimal de algunos datos que deben transmitirse (específicamente, en notación ASN.1). En algunos puntos, necesito convertir datos a su representación hexadecimal. Como los datos se transmiten como una secuencia de bytes, la representación hexadecimal debe rellenarse con un 0 si la longitud es impar.¿Hay alguna forma de agregar un número par de dígitos?
Ejemplo:
>>> hex2(3)
'03'
>>> hex2(45)
'2d'
>>> hex2(678)
'02a6'
El objetivo es encontrar una aplicación simple, elegante para hex2
.
Actualmente estoy usando hex
, quitando los primeros dos caracteres, luego rellenando la cadena con 0
si su longitud es impar. Sin embargo, me gustaría encontrar una mejor solución para referencia futura. Miré en str.format
sin encontrar nada que admita un múltiplo.
Creo que es tan buena como la que obtendrá, excepto, por supuesto, si hay un tesoro escondido en la librería del estándar ... – delnan