Nur die Dekodierung stimmt so nicht.
Es muss so gehen:
b7a1a2a3a4a5a6a7
c6c7b1b2b3b4b5b6
0 0 c1c2c3c4c5
das bit b7 muss rechts eingefuegt werden im naechsten Codewort. Im zweiten Schritt, dann die naechsten beiden links nach rechts fuers dritte... und achtung: Bei dem 7.ten schritt kaemen ja 7 in das naechste byte, was aber einem byte entspricht. Daher ist dies direkt das naecshte byte und danach geht es wieder von vorne los...
Das kann ich aber nicht mit shiften

Deine Loesung waere aber viel eleganter!!
atrick