Re: Bytea datatype content to view - Mailing list pgsql-admin

From Steve Cooper
Subject Re: Bytea datatype content to view
Date
Msg-id CAKbF40=P0h+H6_1vGhzGWxA6gX-sKkgTRfL1W8NsQ+=gAa7iqg@mail.gmail.com
Whole thread Raw
In response to Bytea datatype content to view  (Wasim Devale <wasimd60@gmail.com>)
List pgsql-admin
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.



On Wed, Nov 6, 2024 at 5:05 AM Wasim Devale <wasimd60@gmail.com> wrote:
Hi All

I have a table having bytea datatype. Anyone has worked on it how we can see the content as the files are in .csv, .pdf, .bin and .docx format.

Can anyone help with this? Any SQL script or python script to view the content?

Thanks,
Wasim

pgsql-admin by date:

Previous
From: Wasim Devale
Date:
Subject: Bytea datatype content to view
Next
From: Alvaro Herrera
Date:
Subject: Re: Bytea datatype content to view