Я пытаюсь создать шестнадцатеричное представление некоторых данных, которые необходимо передать (в частности, в нотации ASN.1). В некоторые моменты мне нужно преобразовать данные в шестнадцатеричное представление. Поскольку данные передаются как последовательность байтов, шестнадцатеричное представление должно быть дополнено 0, если длина нечетная.
Пример:
>>> hex2(3)
'03'
>>> hex2(45)
'2d'
>>> hex2(678)
'02a6'
Наша цель - найти простую и элегантную реализацию для hex2
.
В настоящее время я использую шестнадцатеричный
, удаляя первые два символа, а затем дополняю строку 0
, если ее длина нечетная. Однако я хотел бы найти лучшее решение для использования в будущем. Я просмотрел str.format
, но не нашел ничего, что соответствует кратному.