Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python struct.unpack从4字节到字符_Python_C - Fatal编程技术网

Python struct.unpack从4字节到字符

Python struct.unpack从4字节到字符,python,c,Python,C,我正在尝试将C客户机连接到Python服务器。C客户机发送字符串的长度,然后逐个发送字符串的字符,但以字节的形式发送 以下是我发送字符的方式: for ( i = 0; i<length; i++) { ascii = (int)word[i]; --- word is a char [] ascii = htonl(ascii); send(c, &ascii, sizeof(ascii), 0); } 解包!i、 el

我正在尝试将C客户机连接到Python服务器。C客户机发送字符串的长度,然后逐个发送字符串的字符,但以字节的形式发送

以下是我发送字符的方式:

 for ( i = 0; i<length; i++) {
        ascii = (int)word[i]; --- word is a char []
        ascii = htonl(ascii);
        send(c, &ascii, sizeof(ascii), 0);
    }
解包!i、 el返回一个包含整数的单元素元组。要将此整数转换为该代码点处的字符,请使用:


为什么要以整数的形式发送字符?所涉及的数据量是原来的四倍?而你可以直接以字节的形式发送字符?我需要C客户机与C服务器一起工作,这是我唯一能让它工作的方法,但现在我无法让C和Python一起工作。有没有办法解码字节?好的,如果我只使用el.decode'ascii'
for i in range (0,nr):
            el = c_socket.recv(4) -- this returns values like  b'\x00\x00\x00a'
            el = struct.unpack("!i",el)[0].decode('ascii') --- this doesn't work

So how do I do that?
el = chr(struct.unpack("!i",el)[0])