16进制转换成10进制
最近在做CAN报文的解析,在解析的过程中我们的CAN ID也就是我们常说的ID其实是16进制的,实际在使用python-can、cantools库的时候其使用的message的arbitration_id为10进制的,这时候我们需要报文的装换。
网路上下载的一个代码为str格式的转换:
def hex2dec(string_num):
print(string_num.upper())
return str(int(string_num.upper(), 16))
其实际用到的函数为int函数
如果是数字的话,简单使用:
int(str(hex_id), 16)
就好了!

博客介绍了在解析CAN报文时遇到的问题,即CANID通常以16进制形式存在,但在使用python-can和cantools库时需要10进制的arbitration_id。作者分享了一个将16进制字符串转换为10进制的代码示例,主要利用Python内置的int函数实现。这个过程对于理解CAN总线通信和数据解析至关重要。
2059

被折叠的 条评论
为什么被折叠?



