File tree 1 file changed +15
-33
lines changed
ESP32-CAM_SERVO_Gmail_PAGE
1 file changed +15
-33
lines changed Original file line number Diff line number Diff line change @@ -601,38 +601,20 @@ void getCommand(char c)
601
601
}
602
602
}
603
603
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 ];
636
616
}
637
- return encodedString;
617
+ msg++;
618
+ }
619
+ return encodedMsg;
638
620
}
You can’t perform that action at this time.
0 commit comments