Base64DecodeGetRequiredLength
VC++でBase64にエンコードされた文字列をbyte列にデコードする際にどのくらいbyteの配列を確保すればよいか取得する際に、ATLのライブラリでBase64DecodeGetRequiredLengthという関数がある。
この関数の役割は、
指定した長さの base64 エンコードされた文字列からデコードされたデータを格納できるバッファのサイズを、バイト単位で取得します。
(MSDNライブラリ ATL Server ライブラリ リファレンスより)
なのであるが、この関数をVC++上から「定義を参照」で遡ると中身(atlenc.hでの定義)を確認できる。
中身を見るとこう書いてある。
Base64DecodeGetRequiredLength(int nSrcLen){ return nSrcLen; }
ま、base64エンコードされると4/3倍程度になると記憶してるので、デコードしてそれより大きくなることはないので間違いではないけど。
そのまんますぎて笑ってしまった。