我有一個桌面應用程序,創建併發布大約2-3k的二進制數據到Web服務器。我已經使用HttpSendRequest
來製作發佈內容,它對文本非常有用,但顯然在二進制文件中失敗。從我的研究看來,我需要base64
對來自我的C++應用程序的數據進行編碼,然後在PHP中使用base64_decod
e來存儲這些數據。C++ base64編碼 - PHP兼容
我已經下載了幾個設計用於在base64
中進行編碼的c/C++文件,但要麼他們根本不工作,要麼編碼與PHP編碼不兼容。
我想我的問題是這樣的:
- 我要對這個正確的方式?有沒有更好的格式來傳輸這些數據?
- 是否有人知道一個簡單的類或其他C++代碼,可以幫助我以適當的格式對這些數據進行編碼?
- 更新 - 我一直在玩這個過去的一天,現在比以往更困惑。這裏的數據:
- 原始二進制數據:http://pastebin.com/cPWjGN3q
- 在C++ base64編碼後:http://pastebin.com/H4Jze96g
- 上傳如在PHP編碼:http://pastebin.com/TJs5WCNj
- I」的代碼:http://pastebin.com/MRLZrsve
- 在PHP解碼m使用POST數據:http://pastebin.com/L856rKmw。
我不確定哪裏出了問題,但任何幫助理清這一點將不勝感激!
- UPDATE 2 - POST過程將編碼數據中的+字符更改爲空格。請參閱以下內容:
數據從C++發佈時間:http://pastebin.com/NiSE7GUe
由於通過FTP複製到服務器:http://pastebin.com/S0qjfreM
是否有合乎邏輯的理由,爲什麼後處理會改變這個角色?我更願意理解並解決實際問題,但是也許執行一個字符串替換就足以終止這個問題了?
'HttpSendRequest'指http://msdn.microsoft.com/en-us/library/windows/desktop/什麼碼aa384247%28v = vs.85%29.aspx? – VolkerK