根據這個博文,有這些轉義
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';
}