gpt4 book ai didi

c++ - 通过 Post 数据接收到的 Un-Escape 字符串

转载 作者:可可西里 更新时间:2023-11-01 16:37:43 25 4
gpt4 key购买 nike

<分区>

我正在写一个程序,里面有一个小型的、自写的 HTTP 服务器。现在我通过套接字通过 POST 获取数据。我的问题是,如何以 C++ 中的最佳方式取消转义字符串?我得到的数据如下:

command=foo%26bar

但我希望它是

command=foo&bar

在 C++ 中实现此目的的最佳方法是什么?

编辑:如果有人对我的解决方案感兴趣,请看这里:

void HttpServer::UnescapePostData(std::string & data) {
size_t pos;
while ((pos = data.find("+")) != std::string::npos) {
data.replace(pos, 1, " ");
}
while ((pos = data.find("%")) != std::string::npos) {
if (pos <= data.length() - 3) {
char replace[2] = {(char)(std::stoi("0x" + data.substr(pos+1,2), NULL, 16)), '\0'};
data.replace(pos, 3, replace);
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com