请问python中如何将字符转化成16进制数字?

我现在要做CRC检测,有一段字符

'8e00002f18ffe31b',

然后分成'

8','e','0'..........'3','1','b'

然后将它们识别成16进制数字,
例如转化成10进制为

8,14,0,........3,1,11

现在不知该怎么转,直接转化会转成ASCII码,比如转化为10进制,
a会转化成97,而我想转换为10.

大佬救我

s='8e00002f18ffe31b'
print([int(i,16) for i in s])

def fun(x):
    start = ord('a')
    res = []
    for i in x.lower():
        if i.isdigit():
            res.append(int(i))
        else:
            res.append(10 + ord(i) - start)
    return res


if __name__ == '__main__':
    print(fun('8e00002f18ffe31b'))