Na ja.
Sein Problem ist, dass der Sender führende 0-en unterdrückt.
Was somit diese Aussage ...
> ich will einen string der aus binären 8bit-Blöcken in einer Ketter besteht,
... in das Reich der Fabel verweist. Es sind eben nicht 8-Bit Blöcke.
Und nein. Das kannst du nicht lösen, sondern das muss der erzeugende
Code lösen. Entweder er erzeugt die führenden 0-en und stellt so sicher,
dass es wirklich immer 8 Zeichen hintereinander sind, die zu einem Byte
gehören. Oder aber er teilt dir auf anderem Wege mit, wann die Bits
eines Bytes vollständig sind (zb mit einem Sonderzeichen welches
anzeigt, dass jetzt alle 'Bits' für das nächste Byte aufgelistet sind)
Anders geht es nicht. Information die weg ist, ist weg. Dein Code kann
höchstens raten. Aber raten ist ein schlechter Ratgeber, wenn man
zuverlässigen Code haben will. Der Datenstrom, den ein Sender erzeugt,
muss so gestaltet sein, dass ein Empfänger diesen eindeutig
auseinanderdröseln kann. Geht das nicht, dann ist das die Schuld des
Senders bzw. dessen, der sich das Protokoll ausgedacht hat und nicht des
Empfängers.