#include #include #include namespace ztool { // 用于将URL编码的特殊字符转换为对应的ASCII字符 std::string URLDecode(const std::string &encoded) { std::ostringstream decoded; std::string::const_iterator it = encoded.begin(); while (it != encoded.end()) { char c = *it++; if (c == '%' && it != encoded.end()) { // 将%后面的两个字符解析为16进制数,并将其转换为字符 int hexValue; std::istringstream hexStream(std::string(it, it + 2)); if (hexStream >> std::hex >> hexValue) { decoded << static_cast(hexValue); it += 2; } else { // 解码失败,保留原始字符 decoded << c; } } else { // 非%字符,保留原始字符 decoded << c; } } return decoded.str(); } } // namespace ztool