我有一个变量调用hex_string.值可能是'01234567'.现在我想从这个变量得到一个十六进制值,它是0x01234567而不是字符串类型.此变量的值可能会更改.所以我需要一个通用的转换方法.
我想你可能会混淆数字和他们的表示.0x01234567并且19088743是完全相同的事情."0x01234567"而"19088743"不是(注意引号).
要从一串十六进制字符转换为整数,请使用int(value, 16).
要从整数转换为以十六进制表示该数字的字符串,请使用hex(value).
>>> a = 0x01234567
>>> b = 19088743
>>> a == b
True
>>> hex(b)
'0x1234567'
>>> int('01234567', 16)
19088743
>>>
Run Code Online (Sandbox Code Playgroud)
>>> int('01234567', 16)
19088743
Run Code Online (Sandbox Code Playgroud)
这与:
>>> 0x01234567
19088743
Run Code Online (Sandbox Code Playgroud)