仕様を理解しているように、Base64エンコーダー
a) ソース バイナリを取得し、長さが 24 バイトの倍数になるようにゼロで埋めます。
b) 次に、一度に 6 ビットずつ、64 文字のターゲット セット (A..Z、a..z、0..9、+、-) にトランスコードします。最後の 2 バイト (16 ビット) がゼロで埋められていることが判明した場合、最後の 2 文字は「==」としてトランスコードされます。最後の 1 バイト (8 ビット) がゼロで埋められていることが判明した場合、最後の文字は「=」としてトランスコードされます。
私の質問は、ステップ (b) で、最後のバイトがパディングされているためにゼロであることと、有効なバイナリ ソース データの一部であるためゼロであることをどのように認識するのでしょうか?
パート (b) を担当するサブシステムは、パート (a) で何が起こったかを知る必要があるということですか?