我正在通过小的UDP包发送一个文件(蟒蛇3)
在服务器上,我把文件分成小块
packets.append(b64encode(smallPart))
在另一边我做的恰恰相反
packets.append(b64decode(peice))
但是,我一直(除了包外)得到不正确的填充异常
我没有B64解码的标准尺寸吗?
最佳答案
你对自己所做事情的描述听起来不错。输入件尺寸的选择只影响效率如果每个输入片段(当然最后一个片段除外)的长度是3的倍数,则填充字节将最小化。
你需要向我们展示你的服务器代码和客户端代码。或者:在服务器上,记录输入和传输的片段。在客户机上,记录收到的条目。比较一下。
好奇:你为什么不直接用b64编码整个字符串,随意分割编码结果,传输片段,在客户端用b''.join(pieces)
和b64解码重新组装片段呢?
进一步的好奇:我认为udp包的内容可能是任何旧的二进制字节串;为什么要进行base64编码?