Hi On 2012/04/28 00:23, a...@peoplestring.com wrote: > 1. let 'x' be the position of a code positioned at an odd number eg when > we take the code '1001010110', the first '1' is positioned at location '1' > (so an odd number), the first '0' is positioned at location '2' (not an odd > number), the next '0' is positioned at location '3' (an odd number) and so > on. > > 2. the program takes into memory all the bits till it reaches the end > (whether they are at position 'x' or not), till it has reached the end > > 3. the program checks each consecutive bit at position 'x'. > > 4. The program finds the end by the theory 'The bit before the last bit of > the code is reached if and only if the bit value at 'x' has changed twice'. > Changing twice is that the bit value must change from the initial '1' to > '0', then back to '1'. The last bit is immediately after the '1' at > position 'x', which in turn itself comes after a '0' at position 'x'. > > 5. Here we find this doesn't need much or complicated arithmetic. Simple > logic is enough. You stated that way too complicated... From what I understand from your description:
* Read data as string of bits. How data is transformed to this string is undefined, which is a problem. * Code words starting with an initial 0 code literal 7-bit ASCII values, which follow the initial zero bit. 0MXX XXXL where M and L are MSB and LSB of the respective ASCII value. * Code words starting with an initial 1 code variable-length values, which are magically created. Read N bits until a 1 bit is encountered (inclusive) on an even position within the bit string (where the position of the initial code word bit is 0) following a 0 bit on an even position. The complete word is N+2 bits long, including the initial 1 bit. Also, I wonder how efficiently your encoding can code general texts... Seeing as how your 10bit codes can only code 192 out of 512 possible values, 12 bit codes only 512 out of 2048 values and so on... This means you will have a massive amount of bits for rare-ish characters sooner or later... Regards, Robert