データを外部チップに渡すために、UUencodeでエンコードしようとしているデータのストリームがあります。チップは一度に512バイトの生データを受け入れます。UUencodeで512バイトをエンコードします。
私が理解している限り、データは45バイトの11行(エンコード後は60バイトになります)と17バイトの残りの1行に変換する必要があります。
明らかに、17バイトは3の倍数ではないため、uuencodeされたセグメントに直接マップできませんが、uuencodeされたデータを取得すると、最後の行は24個のエンコードされたバイト(または18個のrawバイト)を返します。
これは、合計で513バイトのデータがあることを意味します。私の質問は、これは私のuuencodeアルゴリズムの欠点ですか(純粋に数学的な観点からはそれがどのようになり得るかはわかりませんが)、あるいは、余分なバイトはどこから来て、どうすれば再びそれを取り除くことができますか?