A PostgreSQL bytea type is the hexadecimal representation of the ASCII codes for a character string.
So, the string 'hex' translates to \x686578 in a bytea field.
\x68 = decimal 104 = 'h'; \x65 = decimal 101 = 'e'; \x78 = decimal 120 = 'x'
Here's a short Python function to translate hex ascii to a character string:
def hexToStr(hexString: str) -> str:
# Convert hex string to bytes
bytesObject: bytes = bytes.fromhex(hexString)
# Decode bytes to string
asciiString: str = bytesObject.decode("ASCII")
return asciiString
if __name__ == "__main__":
hex_string = "686578" # hexadecimal representation of the ASCII codes for the string 'hex'
print(hexToStr(hex_string))
# output: hex
Rewrite the above "__main__" part to open a database, select whatever, loop through the results, translate the field(s) in question, and perform whatever output you like.