Skip to content

Commit ca9e61a

Browse files
authored
Update ESP32-CAM_SERVO_Gmail_PAGE.ino
1 parent be284a4 commit ca9e61a

File tree

1 file changed

+15
-33
lines changed

1 file changed

+15
-33
lines changed

ESP32-CAM_SERVO_Gmail_PAGE/ESP32-CAM_SERVO_Gmail_PAGE.ino

+15-33
Original file line numberDiff line numberDiff line change
@@ -601,38 +601,20 @@ void getCommand(char c)
601601
}
602602
}
603603

604-
605-
//https://github.com/zenmanenergy/ESP8266-Arduino-Examples/
606-
String urlencode(String str)
607-
{
608-
String encodedString="";
609-
char c;
610-
char code0;
611-
char code1;
612-
char code2;
613-
for (int i =0; i < str.length(); i++){
614-
c=str.charAt(i);
615-
if (c == ' '){
616-
encodedString+= '+';
617-
} else if (isalnum(c)){
618-
encodedString+=c;
619-
} else{
620-
code1=(c & 0xf)+'0';
621-
if ((c & 0xf) >9){
622-
code1=(c & 0xf) - 10 + 'A';
623-
}
624-
c=(c>>4)&0xf;
625-
code0=c+'0';
626-
if (c > 9){
627-
code0=c - 10 + 'A';
628-
}
629-
code2='\0';
630-
encodedString+='%';
631-
encodedString+=code0;
632-
encodedString+=code1;
633-
//encodedString+=code2;
634-
}
635-
yield();
604+
//https://www.arduino.cc/reference/en/libraries/urlencode/
605+
String urlencode(String str) {
606+
const char *msg = str.c_str();
607+
const char *hex = "0123456789ABCDEF";
608+
String encodedMsg = "";
609+
while (*msg != '\0') {
610+
if (('a' <= *msg && *msg <= 'z') || ('A' <= *msg && *msg <= 'Z') || ('0' <= *msg && *msg <= '9') || *msg == '-' || *msg == '_' || *msg == '.' || *msg == '~') {
611+
encodedMsg += *msg;
612+
} else {
613+
encodedMsg += '%';
614+
encodedMsg += hex[(unsigned char)*msg >> 4];
615+
encodedMsg += hex[*msg & 0xf];
636616
}
637-
return encodedString;
617+
msg++;
618+
}
619+
return encodedMsg;
638620
}

0 commit comments

Comments
 (0)