Open In App

Convert Hex String To Integer in Python

Last Updated : 01 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Hexadecimal representation is commonly used in computer science and programming, especially when dealing with low-level operations or data encoding. In Python, converting a hex string to an integer is a frequent operation, and developers have multiple approaches at their disposal to achieve this task. In this article, we will explore various methods to convert a hex string to an integer in Python, providing a comprehensive guide for Geeks.

Python Convert Hex String To Integer

Below are some of the ways by which we can convert hex string into integer in Python:

Python Convert Hex String To Integer Using int() function

The int() function in Python is a versatile built-in function that can be utilized for converting strings to integers. It takes two parameters: the string to be converted and an optional base argument. When converting a hex string to an integer, setting the base argument to 16 is essential.

Python3




hex_string = "1a"
decimal_integer = int(hex_string, 16)
print(decimal_integer)


Output

26



Convert Hex String To Integer Using int() with Base 0

In this example, the hexadecimal string “0xfa22” is converted to an integer using the `int()` function with base 0, allowing automatic detection of the input string’s base. The resulting `decimal_integer` is 64034.

Python3




hex_string = "0xfa22"
 
decimal_integer = int(hex_string, 0)
 
print(decimal_integer)


Output

64034



Python Convert Hex String To Integer Using the literal_eval() method

In this example, the hexadecimal string “0xfe00” is converted to an integer using the `literal_eval()` function from the `ast` module. The resulting `ans` variable holds the decimal integer value 65024.

Python3




from ast import literal_eval
hex_str = "0xfe00"
 
ans = literal_eval(hex_str)
print(ans)


Output

65024



Convert Hex String To Integer Using format() Method

In this example, the hexadecimal string “ff” is first converted to an integer using `int(hex_string3, 16)`, resulting in 255. Then, the integer is formatted as a decimal string using `format()` with base 10 (‘d’). Finally, the formatted string is converted back to an integer using `int()`, yielding the same decimal integer value of 255.

Python3




hex_string3 = "ff"
 
decimal_integer3 = int(format(int(hex_string3, 16), 'd'))
 
print(decimal_integer3)


Output

255





Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads