It seems, if I want to send the data over a network, I'm going to have to strip 
off several bytes after packing, because  
x 3!:1
puts on several bytes on the front of the result. e.g. flag, type, num of 
elements etc. Is this normal to do this?

> Date: Wed, 21 Jan 2015 13:04:57 +0900
> From: [email protected]
> To: [email protected]
> Subject: Re: [Jprogramming] J Equivalent of Python Struct.Pack/Unpack
> 
> Thanks.
> I am working on a small project in which I need to use these binary string 
> conversions and parse them in other languages, eg python.
> 
> I am hoping if I use 3!: 1  then I can unpack in Python.
> 
> --- Original Message ---
> 
> From: "Raul Miller" <[email protected]>
> Sent: January 21, 2015 10:57 AM
> To: "Programming forum" <[email protected]>
> Subject: Re: [Jprogramming] J Equivalent of Python Struct.Pack/Unpack
> 
> I usually use 3!:4 and 3!:5 when reading objects streamed to file from
> someone else's code. I wind up writing a read verb (and a write verb)
> for every "type" which reads its stuff starting at a global offset
> into the reference character array and then updates that offset to
> point at the end. If there's ever an array of them, the dyadic form of
> the verb reads x of them. (And one dimension is sufficient in this
> context.)
> 
> I can tell my code is correct when it can read a file to my internal
> representation and write it back out without introducing any defects
> on my test data set. Except I can also identify bugs in the original
> code when coding to spec requires that what I write back out differs
> from what I read in. That can get annoying sometimes (it means that
> for complete correctness I need to represent the buggy data - that's
> the sort of thing that makes me feel like abandoning a project or at
> least wish I could replace larger parts of the system).
> 
> It's very "forth-like" in feel, and verbose. And some types require a
> bit of manipulation after the initial conversion, to make things
> correct. But, this seems to me to be a fairly appropriate match to the
> problem.
> 
> Your mileage may vary.
> 
> Thanks,
> 
> --
> Raul
> 
> On Tue, Jan 20, 2015 at 10:47 AM, 'Pascal Jasmin' via Programming
> <[email protected]> wrote:
> > 3!:1 is more powerful than this.  Converts any noun to a binary (string) 
> > representation.  3!:2 unpacks.
> >
> >
> > ----- Original Message -----
> > From: Jon Hough <[email protected]>
> > To: "[email protected]" <[email protected]>
> > Cc:
> > Sent: Tuesday, January 20, 2015 10:42 AM
> > Subject: [Jprogramming] J Equivalent of Python Struct.Pack/Unpack
> >
> > Python has a useful module called struct
> > https://docs.python.org/2/library/struct.html
> > which is useful for converting strings to packed binary data.
> > e.g.
> > data = struct.pack('B', someHexString)
> >
> > Does J have an equivalent or similar function / verb?
> > I spent a bit of time looking, but couldn't find anything.
> >
> > Example usage would be sending data over a network.
> >
> >
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
                                          
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to