Есть ли способ дополнить четное число цифр?

Я пытаюсь создать шестнадцатеричное представление некоторых данных, которые необходимо передать (в частности, в нотации ASN.1). В некоторые моменты мне нужно преобразовать данные в шестнадцатеричное представление. Поскольку данные передаются как последовательность байтов, шестнадцатеричное представление должно быть дополнено 0, если длина нечетная.

Пример:

>>> hex2(3)
'03'
>>> hex2(45)
'2d'
>>> hex2(678)
'02a6'

Наша цель - найти простую и элегантную реализацию для hex2 .

В настоящее время я использую шестнадцатеричный , удаляя первые два символа, а затем дополняю строку 0 , если ее длина нечетная. Однако я хотел бы найти лучшее решение для использования в будущем. Я просмотрел str.format , но не нашел ничего, что соответствует кратному.

8
задан Nan L 6 December 2010 в 16:34
поделиться