Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Arduino HttpClient getString出现空字符问题。ESP32_Arduino_Httpclient_Arduino Ide_Arduino Esp8266_Esp32 - Fatal编程技术网

Arduino HttpClient getString出现空字符问题。ESP32

Arduino HttpClient getString出现空字符问题。ESP32,arduino,httpclient,arduino-ide,arduino-esp8266,esp32,Arduino,Httpclient,Arduino Ide,Arduino Esp8266,Esp32,对我的http.Get()方法(十六进制)的响应应该如下所示 0x00,0x00,0x00,0x00,0x04,0x08,0xff 但是当你试图用 response=http.getString(); 我得到的空字符串可能是因为getString()通过看到0x00(NULL)终止它 那么,有没有任何方法可以替换getString()或在get方法响应中接收unit8_t字节呢 如果我在服务器上编辑对0x04,0x08,0xff的响应,ps代码的工作方式与使用http.getstream相同 W

对我的http.Get()方法(十六进制)的响应应该如下所示 0x00,0x00,0x00,0x00,0x04,0x08,0xff 但是当你试图用 response=http.getString(); 我得到的空字符串可能是因为getString()通过看到0x00(NULL)终止它

那么,有没有任何方法可以替换getString()或在get方法响应中接收unit8_t字节呢

如果我在服务器上编辑对0x04,0x08,0xff的响应,ps代码的工作方式与使用http.getstream相同

WiFiClient * stream = http.getStreamPtr();
      while(http.connected() && (len > 0 || len == -1)) 
      {
      // get available data size
      size_t size = stream->available();
      if(size) {
       // read up to 128 byte
      int c = stream->readBytes(response, ((size > sizeof(response)) ? 
      sizeof(response) : size));
      if(len > 0) {
                  len -= c;
                  }
               }
       delay(1);

}

http协议设计为使用完全ascii可见的代码字符串进行通信。如果您不想使用“文本”进行通信,请不要使用http协议。@webmite图像是通过http协议发送的,它们是二进制的。@gre\u gor仅当正确封装在协议中时。问题特别指出,他们正在尝试使用getString()函数。因此,“String”是预期的数据类型。为了澄清一下,如果二进制值不是以null开头,我会得到它们。通常,什么标记字符串的结尾?为什么不希望名为“getString”的函数在这里结束?