| 3001 | } |
| 3002 | |
| 3003 | String urlEncode(const char *msg) { |
| 3004 | constexpr const char *hex = "0123456789ABCDEF"; |
| 3005 | String encodedMsg = ""; |
| 3006 | |
| 3007 | while (*msg != '\0') { |
| 3008 | if ( |
| 3009 | ('a' <= *msg && *msg <= 'z') || ('A' <= *msg && *msg <= 'Z') || ('0' <= *msg && *msg <= '9') || *msg == '-' || *msg == '_' || *msg == '.' || *msg == '~') { |
| 3010 | encodedMsg += *msg; |
| 3011 | } else { |
| 3012 | encodedMsg += '%'; |
| 3013 | encodedMsg += hex[(unsigned char)*msg >> 4]; |
| 3014 | encodedMsg += hex[*msg & 0xf]; |
| 3015 | } |
| 3016 | msg++; |
| 3017 | } |
| 3018 | return encodedMsg; |
| 3019 | } |
| 3020 | |
| 3021 | int windSpeedToBeaufort(const float windSpeed) { |
| 3022 | constexpr const float speeds[] = {0.3, 1.5, 3.3, 5.5, 8, 10.8, 13.9, 17.2, 20.8, 24.5, 28.5, 32.7}; |