>o<<C(W>>24)<<C(W>>16)<<C(W>>8)<<C(W);
ここ。んで、デコード側は4バイトごとに読み込んで、
右シフトしながらデコードバッファに入れると。

キャスト連発が無駄にしか見えないんで