Base64-Codierung eines Strings erzeugen.
Base64-Codierung eines Strings erzeugen. Der zurückgegebene Zeiger muss mit release wieder gelöscht werden.
Name | Typ | Default | Beschreibung |
Return | char* | Neu erzeugter char*-String mit dem base64-codierten Eingabetext. Das Ergebnis muss mit release wieder gelöscht werden. | |
txt | char* | - | beliebiger char*-String |
bufferLength | int | -1 | Länge des Eingabebuffers. Wenn dieser Parameter kleiner gleich 0 ist, wird die Länge des Buffers automatisch bestimmt (funktioniert nur bei 0-terminierten char* buffern). Wenn Sie Binärdaten codieren möchten, geben Sie die Länge des Buffers hier an. |
Kodierung des aktuellen Textes und Rückcodierung dieses Ergebnisses sollten den gleichen String beinhalten.
int main () { String str = string::alloc (); char * enc = 0; char * dec = 0;
textmodel::gettext (str);
enc = encode_base64 (string::get (str)); dec = decode_base64 (enc);
showmessage ("%s\n\n%s\n\n%d", enc, dec, strcmp (string::get (str), dec));
release (enc); release (dec);
return 0; }
Der Text des aktuellen Textmodelles wird in eine base64-codiert in eine Datei geschrieben. Danach wird diese Datei wieder eingelesen. Original- und eingelesener Text sollten gleich sein. Achten Sie darauf, den Lesepuffer genügend groß zu machen oder in einer Schleife zu lesen und zu decodieren.
int main () { String str = string::alloc (); char * enc = 0; char * dec = 0; char buf [3001]; int fi = 0;
textmodel::gettext (str);
// Encode to file enc = encode_base64 (string::get (str));
fi = file::open ("$DESKTOP/txt.txt", "w"); file::write (fi, enc); file::close (fi);
// Decode from file fi = file::open ("$DESKTOP/txt.txt", "r"); file::read (fi, buf, 3000); file::close (fi); dec = decode_base64 (buf);
showmessage ("%s\n\n%s\n\n%d", enc, dec, strcmp (string::get (str), dec));
release (enc); release (dec);
return 0; }
Alphabetic index HTML hierarchy of classes or Java