pythonstringhexbyte

How to convert string to byte string in python?


I want to convert a variable string in hex format to a byte string in python?

Example:

string = 'b36372908bd6f0b5898a38879c7d88436590c3e786568db84a3948408e81b4c6'

to byte string = b'\xb3cr\x90\x8b\xd6\xf0\xb5\x89\x8a8\x87\x9c}\x88Ce\x90\xc3\xe7\x86V\x8d\xb8J9H@\x8e\x81\xb4\xc6'

if I use this:

my_byte_string = str.encode(string)

return this

b'b36372908bd6f0b5898a38879c7d88436590c3e786568db84a3948408e81b4c6'

Solution

  • Use bytes.fromhex(string)

    string = 'b36372908bd6f0b5898a38879c7d88436590c3e786568db84a3948408e81b4c6'
    
    my_bytes = bytes.fromhex(string)
    
    print(type(my_bytes)) # bytes
    
    my_byte_string = repr(my_bytes)
    
    print(type(my_byte_string)) # str