How to read 12 bits from a stream ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg131878] How to read 12 bits from a stream ?*From*: János Löbb <janos at lobb.com>*Date*: Tue, 22 Oct 2013 00:49:37 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net

Hi, I am trying to read a mixed file - binary and text - with OpenRead and Read and BinaryRead, but I am not seeing a seek option, that is to move the pointer inside the file where I want it to be. Of course I can do a read in a loop with a counter, but I hoped there is a better way to do it. The file is 16.1MB, the first 912 elements are characters and binary mixed, followed by 16MB binary section. The binary in this second section is packed in the way that 2 times 12 bits of little endian value is packed into 3 bytes. I need to unpack them and put them into big endian order. I am not seeing how can I read 12 bits at once with BinaryRead, it is aligned at the multiples of 8 bits. Any good tip ? Thanks ahead, J=E1nos