在python中将十六进制转换为BCD

在python中将十六进制转换为BCD,python,hex,bcd,Python,Hex,Bcd,我的十六进制字符串是0E001000001020C93B2 其等效BCD字符串(在线生成器)为0110010000100000100000101101101000000110100000111001010010010010001100010001001001000110000100100100011000010010010000 如何使用python?像这样,例如: >>> ''.join(format(int(c), '04b') for c in str(int('0e00

我的十六进制字符串是
0E001000001020C93B2

其等效BCD字符串(在线生成器)为
0110010000100000100000101101101000000110100000111001010010010010001100010001001001000110000100100100011000010010010000


如何使用python?

像这样,例如:

>>> ''.join(format(int(c), '04b') for c in str(int('0e0010000001020c93b2', 16)))
    '0110011000010001010000101000001101101000000101\
     1010000011100101101001000110000100011010010000'
解释:

>>> hex_string = '0e0010000001020c93b2'

>>> decimal_int = int(hex_string, 16)
>>> decimal_int
66114283681683969184690L

>>> decimal_string = str(decimal_int)
>>> decimal_string
'66114283681683969184690'

>>> digits = [int(c) for c in decimal_string]
>>> digits
[6, 6, 1, 1, 4, 2, 8, 3, 6, 8, 1, 6, 8, 3, 9, 6, 9, 1, 8, 4, 6, 9, 0]

>>> zero_padded_BCD_digits = [format(d, '04b') for d in digits]
>>> zero_padded_BCD_digits
['0110', '0110', '0001', '0001', '0100', '0010', '1000', '0011', '0110', '1000',
'0001', '0110', '1000', '0011', '1001', '0110', '1001', '0001', '1000', '0100',
'0110', '1001', '0000']

>>> ''.join(zero_padded_BCD_digits)
'0110011000010001010000101000001101101000000101\
 1010000011100101101001000110000100011010010000'

请解释你到底想要什么;你的数字以2结尾,但是你的BCD以0000结尾?这是生成的值哦,对了,它是十六进制的。我如何在python中生成它的BCD等价物?