据我了解规范,Base64 编码器
a) 获取源二进制文件,并用零填充为 24 字节长的倍数。
b) 然后它一次将 6 位转码为 64 个字符的目标集(A..Z、a..z、0..9、+、-)。如果它发现最后两个字节(16 位)已被零填充,则最后两个字符被转码为“==”。如果它发现最后一个字节(8 位)已被零填充,则最后一个字符被转码为'='。
我的问题是,在步骤 (b) 中,它如何知道最后一个字节是零,因为它们已被填充,而它们是零,因为它们是有效二进制源数据的一部分?
负责 (b) 部分的子系统是否必须知道 (a) 部分期间发生了什么?