LibxmlBase64

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Base64 mit der libxml

Ned blöd guggen, des ist des normalste auf der Welt, dass mer mit der libxml Base64 Daten erzeugt ....

Encodieren

#include <libxml/xmlwriter.h>
#include <libxml/tree.h>

#include <unistd.h>

int
main(void) 
{
  xmlBuffer *buf = xmlBufferCreate();
  if(! buf) {
    fprintf(stderr, "Unable to allocate new xmlBuffer.\n");
    return 1;
  }

  xmlTextWriter *tw = xmlNewTextWriterMemory(buf, 0);
  if(! tw) {
    fprintf(stderr, "Unable to create new TextWriter object.\n");
    return 1;
  }

  unsigned char bin_buffer[256];
  for(int i = 0; i < 256; i ++)
    bin_buffer[i] = i;
  
  xmlTextWriterWriteBase64(tw, (const char *) bin_buffer, 0, 256);
  xmlTextWriterFlush(tw);

  write(1, xmlBufferContent(buf), xmlBufferLength(buf));
  return 0;
}