こんにちは。
base64エンコード済みの文字列からb64decodeでバイナリファイルを生成し、それをbsaveで保存しようとしています。現在、ちょっとした問題が発生していて、解決方法を探しています。
まず、b64decode事態に、出力先変数の自動拡張機能がないようでした。これではしょうがないので、デコードする前の文字列と同じバイト数のメモリを確保しておきました。
こうすると、デコードは正常に完了するのですが、base64の仕様上、必ず後ろのほうに余計なスペースができてしまいます。
バイナリでなければ、保存するときにstrlenを使えばいい話なのですが、デコードしたバイナリの途中に終わり端コードがあるようで、それをすると保存が途中で止まってしまいます。
返還後のバイト数が帰ってきてないかと思って、命令実行後のstatとstrsizeも確認しましたが、strsizeに帰ってきたのがデコード前のバイト数だったので、これも使えませんでした。
デコードした部分だけをきれいに保存する方法はなにかないでしょうか?
よろしくお願いします。