2013-03-19 4 views
1

Привет вам всем,Как передать буфер двоичных данных в xml?

  • У меня есть буфер, который содержит двоичные-данные (размер более 1G) ...
  • Это бинарные-данные указаны к по указателю " Ipp16s "(тип данных Intel для« коротких ») ...
  • Указатель указывает« только »на первый элемент буфера, а не на весь буфер (как мне сказали и проверили себя при отладке)) ...
  • В конце концов, я хотел бы поместить весь буфер в xml ...
  • формат XML я уже настройки и работает при прохождении имитировали значения ...
  • Итак, я думал, что из двух решений:

    1. вставив одинарные значения один за другим (используя для цикла) в XML (который является очень простым методом пока неэффективен для многих причин)

    2. кодирование (какое-то образом) буфер (и всю ее содержимое) перед инъекционной кодированным буфером в XML (этот метод звучит сложный но более логично)

Мой вопрос: как кодировать этот буфер (двоичных данных) в XML?

BTW, я новичок в C++ и работаю с Qt-Creator.

Заранее спасибо за вашу помощь,

ответ

0

Я обычно используют base64 кодирование. Я уверен, что вы могли бы найти уже написанную реализацию, или вы могли бы написать свою собственную, если она понравится.

+0

** спасибо за Ваш ответ ... ** после того как я прочитал в кодировке base64 я нашел этот сайт: (http://cplusplus.com/forum/ beginner/51572) Однако реализация концентрируется на передаче только строковых значений. ** Я больше беспокоюсь о передаче указателя на буфер (который содержит двоичные данные) **. Я не вижу, как реализовать это, используя base64 !! –

+0

кодировка base64 - это то же самое, независимо от того, являетесь ли вы кодировкой из строки из буфера из файла. Всегда вы кодируете байты, где вы получаете байты из просто детали. Вот реализация, которая кодируется из буфера http://www.adp-gmbh.ch/cpp/common/base64.html – john

+0

ваш пример такой же, как у меня. то есть: я должен поместить значения char в переменную «s» перед передачей «s» в кодировщик (и я не могу передать свой буфер, потому что у меня его нет, у меня есть только указатель на него). Другое дело, код передает «s» как одномерный буфер char, и я хочу передать указатель, который указывает только на первый элемент в буфере, который содержит «короткие» значения. Я действительно застрял! –

Смежные вопросы