我需要转换一个可以包含 \r\n 作为字符串一部分的输入字符串。例如如下所示
\r\n Content-type: text/plain; charset=iso-8859-1 \r\n Subject: Test Subject \r\n\r\n Test Message
现在,在通过 HTTP Post 数据发送此字符串时,我需要将 \r\n 转换为百分位数编码。但是当我使用 curl_easy_escape 函数时,它会将 \r\n 理解为不同的字符并且编码不正确。因此,为避免此类错误,我需要将上面的字符串中的 \r\n 转换为回车符和换行符,以便通过 curl_easy_escape() 函数正确转换缓冲区。我尝试将 sstream 对象、sprintf 和 sscanf 与缓冲区一起使用(因为缓冲区是 std::string 对象),但没有太大帮助。基本上我想转换缓冲区如下
内容类型:文本/纯文本;charset=iso-8859-1 主题:测试主题
测试消息
因此,当我们将此缓冲区传递给 curl_easy_escape 时,它会正确编码。因此,这方面的任何指示都会非常有帮助。