Skip to content

Commit d1df832

Browse files
authored
Update ESP32-CAM_MyBlockly_STREAM.ino
1 parent 2b1205e commit d1df832

File tree

1 file changed

+15
-32
lines changed

1 file changed

+15
-32
lines changed

ESP32-CAM_MyBlockly_STREAM/ESP32-CAM_MyBlockly_STREAM.ino

+15-32
Original file line numberDiff line numberDiff line change
@@ -1099,39 +1099,22 @@ void getCommand(char c)
10991099
}
11001100
}
11011101

1102-
//https://github.com/zenmanenergy/ESP8266-Arduino-Examples/
1103-
String urlencode(String str)
1104-
{
1105-
String encodedString="";
1106-
char c;
1107-
char code0;
1108-
char code1;
1109-
char code2;
1110-
for (int i =0; i < str.length(); i++){
1111-
c=str.charAt(i);
1112-
if (c == ' '){
1113-
encodedString+= '+';
1114-
} else if (isalnum(c)){
1115-
encodedString+=c;
1116-
} else{
1117-
code1=(c & 0xf)+'0';
1118-
if ((c & 0xf) >9){
1119-
code1=(c & 0xf) - 10 + 'A';
1120-
}
1121-
c=(c>>4)&0xf;
1122-
code0=c+'0';
1123-
if (c > 9){
1124-
code0=c - 10 + 'A';
1125-
}
1126-
code2='\0';
1127-
encodedString+='%';
1128-
encodedString+=code0;
1129-
encodedString+=code1;
1130-
//encodedString+=code2;
1131-
}
1132-
yield();
1102+
//https://www.arduino.cc/reference/en/libraries/urlencode/
1103+
String urlencode(String str) {
1104+
const char *msg = str.c_str();
1105+
const char *hex = "0123456789ABCDEF";
1106+
String encodedMsg = "";
1107+
while (*msg != '\0') {
1108+
if (('a' <= *msg && *msg <= 'z') || ('A' <= *msg && *msg <= 'Z') || ('0' <= *msg && *msg <= '9') || *msg == '-' || *msg == '_' || *msg == '.' || *msg == '~') {
1109+
encodedMsg += *msg;
1110+
} else {
1111+
encodedMsg += '%';
1112+
encodedMsg += hex[(unsigned char)*msg >> 4];
1113+
encodedMsg += hex[*msg & 0xf];
11331114
}
1134-
return encodedString;
1115+
msg++;
1116+
}
1117+
return encodedMsg;
11351118
}
11361119

11371120
String tcp_http(String domain,String request,int port,byte wait)

0 commit comments

Comments
 (0)