新規記事の投稿を行うことで、非表示にすることが可能です。
2014年06月09日
Base64 エンコード/デコードをパイプで実行するのはありか?(3)
Base64 をストリーミング的に扱うという発想から、エンコード方式が直接ストリームとなっているようなクラスを想像していたが、冷静になってみると、単に以下のようなラッパーでしかないことに気がついた
で、 operator>> の実装が単に以下のようになっていればいいだけのことだ
結局考えていたことはストリームに対するマニピュレータをどのように綺麗に書くか、というだけのことだった
なんだか気が抜けてしまったので、この話題はもうやめておこう
class Base64IStream : public std::istream {
public:
Base64IStream& operator >> (std::ostream& out);
};
で、 operator>> の実装が単に以下のようになっていればいいだけのことだ
char input[5] = {0};
in.read(input, 4);
char output[4] = {0};
Base64Decoder.decode(input, 4, output, 3);
out << output;
結局考えていたことはストリームに対するマニピュレータをどのように綺麗に書くか、というだけのことだった
なんだか気が抜けてしまったので、この話題はもうやめておこう