最初は、std::istringstreamを使って実装していたのですが、バイナリを扱う必要があるので、見送りました。