2013-03-19 129 views
1

喜大家,如何將二進制數據的緩衝區傳遞給xml?

  • 我有一個包含二進制數據(的超過1G大小)的緩衝...
  • 該二進制數據指出,通過的「指針Ipp16s「(英特爾數據類型爲」short「)...
  • 指針僅指向緩衝區的第一個元素,而不指向所有緩衝區(正如我在調試時被告知和檢查自己)) ...
  • 最終,我想適合整個緩衝區到一個XML ...
  • 我已經建立的XML格式,它正在通過模擬值時...
  • 所以,我認爲兩種解決方案:

    1. 插入單值一個接一個(使用一個for循環)插入 XML(這是非常簡單的方法但低效的這麼多 原因)

    2. 編碼(以某種方式)的緩衝液(及其所有內容) 之前經編碼緩衝器注入XML (這種方法聽起來很複雜, 但更合乎邏輯)

我的問題是:如何將這個緩衝區編碼(二進制數據)轉換成XML?

順便說一句,我是新來的c + +和Qt-Creator工作。

預先感謝您的幫助,

回答

0

我一般用base64編碼。我相信你可以找到一個已經寫好的實現,或者如果它有吸引力,你可以自己寫。

+0

**感謝您的回覆... ** 後,我通過base64編碼讀,我發現這個網站:(http://cplusplus.com/forum/初學者/ 51572) 然而,實現集中在僅傳遞字符串值。 **我更關心傳遞指向緩衝區(包含二進制數據)的指針**。 我看不到如何使用base64實現! – 2013-03-21 12:18:35

+0

無論您是從字符串,緩衝區還是從文件進行編碼,base64編碼都是相同的。總是你編碼的字節,你得到的字節只是一個細節。這是一個實現,從緩衝區編碼http://www.adp-gmbh.ch/cpp/common/base64.html – john 2013-03-21 15:42:21

+0

你的例子和我的一樣。就是這樣:我必須在將「s」傳遞給編碼器之前將char值放到變量「s」中(並且因爲沒有它,我只有一個指針)所以我不能傳遞我的緩衝區。另一件事,代碼傳遞「s」作爲char的一個長度緩衝區,並且我想傳遞一個只指向緩衝區中包含「short」值的第一個元素的指針。我真的被卡住了! – 2013-03-21 15:56:12

相關問題