Base64DecoderBuffer()
Syntax
Ergebnis = Base64DecoderBuffer(*EingabePuffer, EingabeGröße, *AusgabePuffer, AusgabeGröße)Beschreibung
Dekodiert den angegebenen - mit Base64 kodierten - 'EingabePuffer'.
Parameter
*EingabePuffer Der Puffer, welcher die kodierten Daten enthält. EingabeGröße Die Größe des Eingabepuffers. *AusgabePuffer Der Ausgabepuffer, wohin die reinen Daten kopiert werden. AusgabeGröße Die Größe des Ausgabepuffers.
Der Ausgabepuffer kann bis zu 33% kleiner als der Eingabepuffer sein, mit einer minimalen Größe von 64 Bytes. Es ist jedoch empfehlenswert, einen etwas größeren Puffer (etwa 30% kleiner) zu verwenden, um einen Speicherüberlauf ("Overflow") zu vermeiden.
Rückgabewert
Gibt die Länge der dekodierten Daten in Bytes zurück.
Beispiel
Example$ = "This is a test string!" Decoded$ = Space(1024) Encoded$ = Space(1024) Debug Base64EncoderBuffer(@Example$, StringByteLength(Example$), @Encoded$, StringByteLength(Encoded$)) Debug Encoded$ Debug Base64DecoderBuffer(@Encoded$, StringByteLength(Encoded$), @Decoded$, StringByteLength(Decoded$)) Debug Decoded$
Beispiel: Kodieren & Dekodieren einer DataSection
DataSection Test: Data.a $00, $01, $02, $03, $04, $05, $06, $07 Data.a $08, $09, $0A, $0B, $0C, $0D, $0E, $0F TestEnd: EndDataSection Size = (?TestEnd - ?Test) * 1.35 If Size < 64 Size = 64 EndIf *EncodeBuffer = AllocateMemory(Size) Size = Base64EncoderBuffer(?Test, ?TestEnd - ?Test, *EncodeBuffer, MemorySize(*EncodeBuffer)) Encoded$ = PeekS(*EncodeBuffer, Size, #PB_Ascii) Debug Encoded$ *DecodeBuffer = AllocateMemory(Size) Size = PokeS(*EncodeBuffer, Encoded$, StringByteLength(Encoded$, #PB_Ascii), #PB_Ascii|#PB_String_NoZero) Size = Base64DecoderBuffer(*EncodeBuffer, Size, *DecodeBuffer, MemorySize(*DecodeBuffer)) ShowMemoryViewer(*DecodeBuffer, Size)
Siehe auch
Base64EncoderBuffer()
Unterstützte OS
Alle