How to convert a hex string to hex number

PythonStringPython 2.7Hex

Python Problem Overview


I want to convert a hex string (ex: 0xAD4) to hex number, then to add 0x200 to that number and again want to print that number in form of 0x as a string.

i tried for the first step:

str(int(str(item[1][:-2]),16))

but the value that is getting printed is a decimal string not a hex formatted string (in 0x format) ( i want to print the final result in form of 0x)

  • [:-2] to remove the last 00 from that number
  • item[1] is containing hex number in form of 0x

Python Solutions


Solution 1 - Python

Try this:

hex_str = "0xAD4"
hex_int = int(hex_str, 16)
new_int = hex_int + 0x200
print hex(new_int)

If you don't like the 0x in the beginning, replace the last line with

print hex(new_int)[2:]

Solution 2 - Python

Use int function with second parameter 16, to convert a hex string to an integer. Finally, use hex function to convert it back to a hexadecimal number.

print hex(int("0xAD4", 16) + int("0x200", 16)) # 0xcd4

Instead you could directly do

print hex(int("0xAD4", 16) + 0x200) # 0xcd4

Solution 3 - Python

Use format string

intNum = 123
print "0x%x"%(intNum)

or hex function.

intNum = 123
print hex(intNum)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRATHIView Question on Stackoverflow
Solution 1 - PythonBachView Answer on Stackoverflow
Solution 2 - PythonthefourtheyeView Answer on Stackoverflow
Solution 3 - PythonKei MinagawaView Answer on Stackoverflow