0
我使用了zlib壓縮來返回一個字符串。 https://panthema.net/2007/0328-ZLibString.html編碼和解碼字符串的區別
然後我做:被限定如
void StatsClientImpl::sendToServer(std::stringstream &sstr) // to include an update interval version
{
std::string error_msg = "";
std::stringstream temp(AppState::getPid() + "," + AppState::getInstallOS());
temp << sstr.str();
std::string s = zlib_compress(temp.str());
.......
zlib_compress std::cout << s.size() <<"\n";
字符串的大小被證明是18
然後我做:
CURL *handle = curl_easy_init();
char* o = curl_easy_escape(handle, s.data(), s.size());
std::string bin(o);
std::cout << o <<"\n";
char* i= curl_easy_unescape(handle, bin.data(), bin.size(), NULL);
std::string in(i);
std::cout << i << in.size() <<"\n";
這給了我以下輸出:
x%DA%D3%D1%81%80%E2%92%D2%B44%1D%03%00%1BW%03%E5
x??с??Ҵ413
x%DA%D3%D1%81%80%E2%92%D2%B44%1D%03
我經過這個輸入字符串:
,,,,,,stuff,0
爲什麼會出現在解碼和編碼字符串區別嗎? 我該如何解決這個問題?
救主! :)我只需要在服務器端運行一些測試,然後我會接受你的答案! –
但我有一個問題。爲什麼在'bin(o)'中不會發生這種情況? –
另外,如果我嘗試在javascript中解碼此字符串,我應該使用哪個函數? –