Python 发送空字节?

Python 发送空字节?,python,encoding,binary,system,Python,Encoding,Binary,System,是否可以通过互联网发送空字节,以便另一方可以正确读取,而不必在空字节位置截断 例如: str=“\xab\xcd\x00\x12\xf6\xbe” 另一方现在只能读取\xab\xcd 当然,如果服务器正确地接收二进制数据,那么任务就很简单了。例如,服务器端: from socket import * serverSocket = socket(AF_INET, SOCK_DGRAM) serverSocket.bind(('', 12000)) while True: message,

是否可以通过互联网发送空字节,以便另一方可以正确读取,而不必在空字节位置截断

例如:

str=“\xab\xcd\x00\x12\xf6\xbe”


另一方现在只能读取\xab\xcd

当然,如果服务器正确地接收二进制数据,那么任务就很简单了。例如,服务器端:

from socket import *
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', 12000))

while True:
    message, address = serverSocket.recvfrom(1024)
    print 'Server received', repr(message)
    serverSocket.sendto(message + message, address)
和客户端

from socket import *
message = '\xab\xcd\x00\x12\xf6\xbe'
clientSocket = socket(AF_INET, SOCK_DGRAM)
clientSocket.sendto(message, ('127.0.0.1', 12000))
data, server = clientSocket.recvfrom(1024)
print 'client received:', repr(data)

显示它工作正常(在同一台机器上的两个终端上运行客户机和服务器,给定我在这里使用的IP地址:-)。

通常这是可能的。但是协议(您没有指定)和另一端的实现可能有限制。您确定另一端没有收到吗?错误可能是打印出接收到的内容。