根据这个博文,有这些转义
http url转义字符,特殊字符 - yutingliuyl - 博客园
空格 - %20 " - %22 # - %23 % - %25 & - %26 ( - %28 ) - %29 + - %2B , - %2C / - %2F : - %3A ; - %3B < - %3C = - %3D > - %3E ?
- %3F @ - %40 \ - %5C | - %7C
根据ESP32的例程对转义处理函数如下
void preprocess_string(char* str) { ? ? char *p, *q;
? ? for (p = q = str; *p != 0; p++) ? ? { ? ? ? ? if (*(p) == '%' && *(p + 1) != 0 && *(p + 2) != 0) ? ? ? ? { ? ? ? ? ? ? // quoted hex ? ? ? ? ? ? uint8_t a; ? ? ? ? ? ? p++;//直接去掉%,处理第一个数字 ? ? ? ? ? ? if (*p <= '9') ? ? ? ? ? ? ? ? a = *p - '0'; ? ? ? ? ? ? else ? ? ? ? ? ? ? ? a = toupper((unsigned char)*p) - 'A' + 10; ? ? ? ? ? ? a <<= 4; ? ? ? ? ? ? p++;//第二个数字 ? ? ? ? ? ? if (*p <= '9') ? ? ? ? ? ? ? ? a += *p - '0'; ? ? ? ? ? ? else ? ? ? ? ? ? ? ? a += toupper((unsigned char)*p) - 'A' + 10; ? ? ? ? ? ? *q++ = a; ? ? ? ? } ? ? ? ? else if (*(p) == '+') { ? ? ? ? ? ? *q++ = ' ';//空格 ? ? ? ? } else { ? ? ? ? ? ? *q++ = *p;//不变 ? ? ? ? } ? ? } ? ? *q = '\0'; }
|