基本上我想打包,从我的客户端发送字符到我的服务器,Python和我有一个字符串,我想通过一个这样的发送其字符之一:Python的结构发送字符
a='abcd'
s.sendall(struct.pack("!c",a[0]))
由此我想发送字母'a'。但是我得到错误“字符格式需要长度为1的字节对象”。
我研究过,它说我应该在我的字符之前加上一个b,像b'a',但由于我的字符存储在一个变量中,我该怎么做?
也有一种方法来打包一个字符串与结构没有做char char?
我想要做的事:
a = 'ab cd ef '
nrel = len(a)
c.send(struct.pack("!i", nrel)) //send the length
for i in range (0,nrel):
c.send(struct.pack("!c",a[i].encode('ascii'))) //send each char one by one
而且在服务器:
nr = c_socket.recv(4096)
nr = struct.unpack("!i",nr)[0]
cuv = ''
for i in range (0,nr):
el = c_socket.recv(4096)
ch = struct.unpack("!c",el)[0].decode('ascii') //fails after reading the second letter
cuv = cuv + ch
你使用Python 2或3吗? –
我正在使用Python 3 – Mocktheduck