私の大学の 1 つで、空の文字列は有効な base64 でエンコードされたデータ文字列ではないと言われました。私はこれが真実だとは思いません (彼はそれを解析するのが面倒です)、少しグーグルで調べ、RFCをチェックした後でも、base64 でゼロバイト長のブロブを適切にエンコードする方法を明示的に述べているドキュメントは見つかりませんでした。 .
質問は次のとおりです。base64 でゼロバイトをエンコードする方法を明示的に示している公式ドキュメントへのリンクはありますか?
これに関する私の考えでは、空の文字列が生成する可能性のある base64 値が 2 つあります。空の文字列、または完全に埋め込み文字 ('===') で構成される文字列のいずれかです。その他の有効な base64 文字列には、情報が含まれています。2 番目のケースでは、RFC の次のルールを適用できます。
文字列の末尾に許容数を超える埋め込み文字が見つかった場合 (たとえば、"===" で終了する base 64 文字列)、超過した埋め込み文字は無視される可能性があります。
それらは無視できるため、結果のエンコードされた文字列から問題なく削除でき、空の文字列の base64 表現として空の文字列が再び残ります。