Decodieren eines base64-codierten Strings.
Decodieren eines base64-codierten Strings. Der zurückgegebene Zeiger muss mit release wieder gelöscht werden.
Name | Typ | Default | Beschreibung |
Return | char* | Neu erzeugter char*-String mit dem decodierten Eingabetext. Das Ergebnis muss mit release wieder gelöscht werden. | |
txt | char* | - | beliebiger base64-codierter char*-String |
binary | int | 0 | Sollen Binärdaten dekodiert werden? Wenn dieser Parameter 1 ist, kann das Ergebnis 0en enthalten und es wird in das keine Abschließende 0 geschrieben. In diesem Fall sollten Sie den Ausgabeparameter oLength verwenden. |
oLength | int * | 0 | Ausgabelänge der dekodierten Daten. Insbesondere wichtig beim dekodieren von Binärdaten, deren Länge nicht per strlen bestimmt werden kann. |
useSOAPDecoder | int | 0 | Sie werden den Parameter kaum benötigen, aber just in case: Hat der Parameter einen Wert ungleich 0 wird exakt der gleiche Decoder verwendet, den auch SOAP verwendet. In Illustrator wird der Parameter ignoriert und immer das Standardverfahren zur Dekodierung verwendet. |
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