AppDividend
Latest Code Tutorials

# How to Convert Python String to Hex

Hex strings have a “0x” prefix. In Python, if you have a “0x” prefix and a valid string, use the int(string, 0)  method to get the integer. The 0 is provided to tell the function to interpret the base from prefix.

## Python String to Hex

To convert Python String to hex, use the inbuilt hex() method. The hex() is a built-in method that converts the integer to a corresponding hexadecimal string. For example, use the int(x, base) function with 16 to convert a string to an integer.

`hex(n)`

### Parameters

The hex() method takes one required argument n: integer number.

### Return Value

The hex() method converts an integer to a corresponding hexadecimal number in the string form and returns it. The returned hexadecimal string starts with the prefix 0x, indicating it’s in the hexadecimal format.

### Example of converting a string to hex

```hex_string = "0xFF"

an_integer = int(hex_string, 16)

hex_value = hex(an_integer)
print(hex_value)
```

#### Output

`0xff`

You can see from the output that the returned string is hexadecimal because it starts with 0xff.

## Python hex() with object

We can also convert a Python object into a hash value using the hex() method. Create a custom class and define __index__() function to use the hex() function with it.

```class Ditto:
no = 0

def __index__(self):
print('__index__ function called')
return self.no

dt = Ditto()
dt.no = 19

print(hex(dt))```

#### Output

```__index__ function called
0x13```

## Hexadecimal representation of a float

Use float.index() method to convert float to hex.

```number = 0.0
print(number, "in hex =", float.hex(number))

number = 19.5
print(number, "in hex =", float.hex(number))
```

#### Output

```0.0 in hex = 0x0.0p+0
19.5 in hex = 0x1.3800000000000p+4```

## Errors and Exceptions to convert string to hex.

The hex() function throws a TypeError when anything other than integer type constants is passed as parameters.

```hex_string = "0xFF"

hex_value = hex(hex_string)
print(hex_value)
```

#### Output

`TypeError: 'str' object cannot be interpreted as an integer`

You can see that the hex() function always expects an integer, but it got a string, which is why it throws an error. The hex() method is used in all the standard conversions, like converting hexadecimal to decimal, hexadecimal to octal, and hexadecimal to binary.

## Conclusion

If you want to convert a hex string (ex: 0xAD4) to a hex number, use the hex() function.

First, use the int() function with the second parameter 16 to convert a hex string to an integer. Then, use the hex() function to convert it to a hexadecimal number.