2012-02-21 10 views
0

こんにちは私は現在、C++でbase64エンコード方式を使用している文字列をエンコードしようとしています。base64はヌルターミネーターをエンコードします

文字列自体はうまくエンコードされますが、デコードされた文字列の末尾にヌル文字が追加されています(ヌル文字がデコードされた文字列を保存するテキストファイルにも表示される)。

私はここに、このBASE64コードを使用しています - >http://www.adp-gmbh.ch/cpp/common/base64.html

を私は(私はすでに文字列Iの終わりに2つのヌル文字を書いてみましたあなたは、私がこれを可能にするために、ここで何ができるか、私にいくつかのアドバイスを与えることができることを望みますエンコードされていますが、エンコーディング方法が最初のヌル文字の出現までしか読み込まれていないようです)。

答えて

1

NULの特殊な処理は、エンコード機能では表示されません。また、デコード機能も、デコードされた文字列のNULをテストする方法に問題がないのは確かですか?

+0

実際に私は今、文字列の最後にヌル文字を明示的に追加しなければならなかったので、エンコードメソッドもそれを処理しました(すべての文字をエンコードしていると思います)。以前は、最後の文字列にヌル文字を追加した文字配列しかありませんでしたが、エンコーディングメソッドがnull文字を受け取らないようです。 – user1175111

+0

@ user1175111:エンコード方法では、 'length'引数で要求する文字数だけエンコードします(' strlen'を使用すると、最初の 'NUL'でカウントを停止しますが、*知っていれば*あなたが必要なものを手に入れることができます)。 –

関連する問題