2013-07-11 46 views
3

我的要求是編碼數據並通過HTTP通過網絡發送,但我試圖選擇最好的編碼技術。以上三項中哪一項最好?有更好的嗎?使用HTTP時,哪種編碼更好,base64,yEnc或uuencode?

「最好」的標準應該是小尺寸和快速編碼/解碼。

+0

你有什麼標準,「最佳」? – Sirko

+0

我已更新yEnc的最佳標準 – Charzhard

+0

,Base64和Uuencode不是壓縮算法。它們被用來發送帶有純文本協議的二進制數據,例如POP3和SMTP。如果你沒有面對這種情況(限於文本),那麼你可以簡單地壓縮你的數據。正在傳輸圖像,PDF文檔......您使用的是什麼協議? – Tarik

回答

1

yEnc的開銷較少,但在此處提到的其他問題http://en.wikipedia.org/wiki/YEnc#Criticisms。 什麼是「最佳」取決於您可能擁有的標準以及您打算如何通過網絡發送數據。您是否使用網絡服務,電子郵件或其他方式。你需要提供更多的細節。

編輯: 由於您通過HTTP上傳數據,因此不需要使用任何Base64,yEnc或Uuencode。您只需使用瀏覽器和Web服務器中內置的標準http文件上傳功能。看到這個問題作爲參考: How does HTTP file upload work? 另外這款參考: http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

+0

我從ui獲取數據, m編碼並存儲在一個文件管理系統中,爲了您的方便我編輯了這個問題 – Charzhard

+0

我已經閱讀過參考文獻,但案例是我收到後端C++引擎中的文檔,文檔管理系統可以在任何數據中心,所以我編碼並通過poco http庫發送它,它似乎沒有編碼我發送的文檔,這就是爲什麼我必須對文檔進行編碼 – Charzhard

+0

如果您提到了您使用的文檔管理系統,我認爲這會有所幫助。在後端使用C++的事實不應影響假設您有HTTP服務器而無需編碼即可上載的能力。 – Tarik