我正在尝试用python设置一些客户端和服务器代码来发送编码的流量。以下是使用base64对数据进行编码的回显服务器示例
import base64,socket
s=socket.socket()
s.bind(("127.0.0.1",9090))
s.listen(5)
cls,addr=s.accept()
data=cls.recv(1024)
cls.send(base64.b64encode(data))
cls.close()我遇到的问题是,有时大流量会中断编码和解码过程,并显示错误的填充。当发送大量TCP流量时,我还可以使用哪些不会中断的编码方法。
发布于 2014-03-19 21:45:58
base64的工作原理是将每3个字节编码成4个字节。在解码时,它获取这4个字节并将它们转换回3个字节。所以..。
=填充输出,使其变为4个字节。b64decode的输入不是4个字节的倍数,则会出现此异常。最简单的解决方案是确保您发送的数据包始终是4字节的倍数。
https://stackoverflow.com/questions/22507576
复制相似问题