Ich steh gerade etwas auf dem Schlauch. Ich benötige base32 und 64 ent- und decodier Funktionen für C. Hab also ein wenig gegoogled und das hier gefunden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | static int base64_encode(char *, size_t *, const void *, size_t); static int base64_encode(char *buf, size_t *buflen, const void *data, size_t size) /* * Fills *buf with max. *buflen characters, encoding size bytes of *data. * * NOTE: *buf space should be at least 1 byte _more_ than *buflen * to hold the trailing '\0'. * * return value : #bytes filled in buf (excluding \0) * sets *buflen to : #bytes encoded from data */ { unsigned char *udata = (unsigned char *) data; int iout = 0; /* to-be-filled output char */ int iin = 0; /* one more than last input byte that can be successfully decoded */ // hab den Teil weggeschnitten da das file lizenziert ist buf[iout] = '\0'; /* store number of bytes from data that was used */ *buflen = iin; return iout; } |
Nur wie rufe ich die base64_encode() korrekt auf? Ich bekomme immer einen Speicherzugriffsfehler. 😕 Einfach nur ein Bsp mit "hallo welt" wäre toll.