小さなBase64コーダ/デコーダプログラムを作成しようとしていますが、ルールやガイドライン、または予想される動作があるかどうかを判断しようとしています。有効でない文字を入力してください。Base64文字列のデコード中にエラーを処理する方法
改行などでは無効な文字を無視したり、ジャンクイン、ジャンクアウトの方法(データが部分的にデコードされる)残りはエラーの重大度または正確な数に依存します)。
同様の点:改行(PEMファイルのように、行が64文字の長さで区切られているような)を無視する必要があると思いますが、他の制御文字がありますので無視してください。
もし興味があれば、私は純粋な(バニラ)Cでコーディングしていますが、これにはまだライブラリがありません。しかし、そのディテールは、私が探している答えにとっては本当に重要ではありません。
ありがとうございました。
この質問は広範囲です。使用されているbase64エンコーディングには少なくとも12種類のバリエーションがあります。使用するバリアントを選択し、そのバリアントのルールと制限を使用します。 –
私は主に、実装されているRFCのRFC(1945、2068)の記述をベースにしています。これはMIME RFC(1341年まで)に基づいています。しかし、これらの情報源のどれもが誤りの場合に何をすべきかを記述していないようであった。 – Menachem
ええ、ええ、私はRFC1945とRFC2068がHTTPプロトコルを定義するので、コンテンツのエンコードに関しては非常に曖昧であると思います。 MIME base64についてはRFC2045を参照してください。ただし、エラー処理は特定のアプリケーションのニーズに完全に依存します。 –