osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bitstream -- Binary Data for Humans


Le mardi 6 mars 2018 09:26:50 UTC+1, S?bastien Boisg?rault a ?crit?:
> Le mardi 6 mars 2018 00:29:25 UTC+1, Roel Schroeven a ?crit?:
> > S?bastien Boisg?rault schreef op 5/03/2018 20:05:
> > > I have released bitstream, a Python library to manage binary data (at the byte or bit level),
> >  > hopefully without the pain that this kind of thing usually entails :)
> > > 
> > > If you have struggled with this topic in the past, please take a look at the documentation
> >  > (http://boisgera.github.io/bitstream/) and tell me what you think.
> > 
> > Hi S?bastien,
> > 
> > At work I have some Python code to decode AIS[1] messages, for which I 
> > created my own code for handling binary data. It works, but is pretty 
> > slow. Not surprising, since handling data at the bit level is not 
> > exactly Python's strength. If I find the time, I'll try to replace my 
> > code with your bitstream and see if it does what I need it to do, and if 
> > it's any faster.
> > 
> > If/when I actually get around to it, I'll keep you informed.
> > 
> > [1] https://en.wikipedia.org/wiki/Automatic_identification_system
> > 
> > 
> > Best regards,
> > Roel
> > 
> > -- 
> > The saddest aspect of life right now is that science gathers knowledge
> > faster than society gathers wisdom.
> >    -- Isaac Asimov
> > 
> > Roel Schroeven
> 
> Great, thanks !

Hi again Roel,

I had a look at the AIS message format from your link (https://en.wikipedia.org/wiki/Automatic_identification_system#Message_format) and this seems to be a nice use case; all the data components seem to be nicely aligned on the byte boundary ... until you see that the payload uses ASCII6(*), which I didn't know about. 

Thanks again for the info!

Cheers,

(*) ASCII6 code = ASCII code + 48; (http://catb.org/gpsd/AIVDM.html#_aivdm_aivdo_sentence_layer)
SB