Manipulating bitsets in struct

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Allen

    Manipulating bitsets in struct

    I'm using Python to do some simple network programming, and found the
    struct module very useful for such things, but is there a way to easily
    manipulate bitsets such as a 16 bit word being split into 4 parts like 2
    bits, 1 bit, 4 bits, and 9 bits?

    Perhaps something like:

    struct.pack('!h (2:1:4:9)',2,0, 1,100)


    Brian Vanderburg II





  • Larry Bates

    #2
    Re: Manipulating bitsets in struct

    Allen wrote:
    I'm using Python to do some simple network programming, and found the
    struct module very useful for such things, but is there a way to easily
    manipulate bitsets such as a 16 bit word being split into 4 parts like 2
    bits, 1 bit, 4 bits, and 9 bits?
    >
    Perhaps something like:
    >
    struct.pack('!h (2:1:4:9)',2,0, 1,100)
    >
    >
    Brian Vanderburg II
    >
    >
    >
    >
    >
    Just 'or' them together after shifting to the left the appropriate number of bits.

    -Larry

    Comment

    • Marc 'BlackJack' Rintsch

      #3
      Re: Manipulating bitsets in struct

      On Wed, 09 Jul 2008 20:04:24 -0400, Allen wrote:
      I'm using Python to do some simple network programming, and found the
      struct module very useful for such things, but is there a way to easily
      manipulate bitsets such as a 16 bit word being split into 4 parts like 2
      bits, 1 bit, 4 bits, and 9 bits?
      >
      Perhaps something like:
      >
      struct.pack('!h (2:1:4:9)',2,0, 1,100)
      Take a look at Construct_ instead of `struct`.

      ... _Construct: http://construct.wikispaces.com/

      Ciao,
      Marc 'BlackJack' Rintsch

      Comment

      Working...