A task for Binary decode?

jbv jbv.silences at club-internet.fr
Tue Aug 12 15:21:00 EDT 2003


Rodney,

At first glance, the data looks like octal (base 8), and therefore
I'd be tempted to use baseconvert to convert it to base 10...
For instance :
    put baseconvert(377, 8, 10)  -->  255

But I'm somewhat puzzled by things like Exif or MM in the
code...

JB


> Hi everyone,
>
> I need to convert some data received from a postgreSQL database back
> into recognizable binary data.  The data was written there by a
> JDBC/Java application, and it appears that it stores the binary data in
> octets - but this is new territory for me so I am hoping someone more
> knowledgible here can help.
>
> I'm retrieving this data using Revolution's database library.
>
> I wonder whether binaryDecode or (possibly even) the convertOctals
> property could be useful in converting this data back into recognizable
> binary data.  Any ideas?
>
> I am still trying to get the PostgreSQL database to allow me to upload
> blobs from Revolution, but so far without success...
>
> Thanks very much.
>
> ~Rodney
> (going to bed as is 4.30am, and although I enjoy programming in
> Revolution a lot... well, there are limits!)
>
> -- sample of data
>
> \377\330\377\341\025\342Exif\000\000MM\000*\000\000\000\010\000\014\001\
> 017\000\002\000\000\000\006\000\000\000\236\001\020\000\002\000\000\000\
> 023\000\000\000\244\001\022\000\003\000\000\000\001\000\001\000\000\001\
> 022\000\003\000\000\000\001\000\001\000\000\001\032\000\005\000\000\000\
> 001\000\000\000\270\001\033\000\005\000\000\000\001\000\000\000\300\001(
> \000\003\000\000\000\001\000\002\000\000\0011\000\002\000\000\000\016\00
> 0\000\000\310\0012\000\002\000\000\000\024\000\000\000\326\001<\000\002\
> 000\000\000\020\000\000\000\352\002\023\000\003\000\000\000\001\000\001\
> 000\000\207i\000\004\000\000\000\001\000\000\000\372\000\000\003\240Cano
> n\000Canon PowerShot
> G3\000\000\000\264\000\000\000\001\000\000\000\264\000\000\000\001\000\0
> 00QuickTime 6.1\0002003:08:03 17:56:50\000Mac OS X
>
> -- sample of jdbc code used to write the object:
> (I think this code is right, but - well -  possibly not the latest
> version, let me know if you are interested and
> I will check)
>
> Postgres supports inserting blobs through JDBC like Oracle:
>
> CREATE TABLE images (imgname text, img bytea);
>
> To insert an image, you would use:
>
>   File file = new File("myimage.gif");
>   FileInputStream fis = new FileInputStream(file);
>   PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES
> (?, ?)");
>   ps.setString(1, file.getName());
>   ps.setBinaryStream(2, fis, file.length());
>   ps.executeUpdate();
>   ps.close();
>   fis.close();
>
> To retrieve it you:
>
> PreparedStatement ps = con.prepareStatement("SELECT img FROM images
> WHERE
> imgname=?");
>   ps.setString(1, "myimage.gif");
>   ResultSet rs = ps.executeQuery();
>   if (rs != null) {
>       while(rs.next()) {
>           byte[] imgBytes = rs.getBytes(1);
>           // use the stream in some way here
>       }
>       rs.close();
>   }
>   ps.close();
>
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard







More information about the metacard mailing list