[OSM-dev] Ruby help - streams of bits
steve at asklater.com
Thu May 17 13:36:38 BST 2007
can't you do something like
a = ''
a = 123
to set byte 0 of a string to char 123?
On 17 May 2007, at 11:57, Richard Fairhurst wrote:
> Hi all,
> I'm working on removing the Ming dependency from Potlatch's GPS code.
> In other words, you won't need Ming to run Potlatch on your own
> machine - you'll only need it to compile the SWF if you want to make
> any changes to Potlatch.
> I've rewritten the getgps script to assemble the SWF 'manually', and
> it works exactly as it should. Only trouble is that it's a bit slow.
> SWF's opcodes and arguments are encoded as variable-length streams of
> bits. These are all packed in direct succession - i.e. not padded to
> byte boundaries or anything like that.
> So, for example, you might have
> 00111 5-bit record
> 0110101 7-bit record
> 0000110 7-bit record
> 0001100 7-bit record
> 1111101 7-bit record
> which would be packed as
> (final byte null-
> At present I'm doing this by assembling a big big big binary string,
> then splitting it into eight-character strings and converting each one
> into a number. But this is dreadfully slow.
> Do any of the Ruby experts here have any better ideas?
> dev mailing list
> dev at openstreetmap.org
SteveC | steve at asklater.com | http://www.asklater.com/steve/
More information about the dev