FUNCTION BASE64 : PT_SIZE
Kodiert 8 Bit-Binärdaten in ASCII-Daten
Ein Textblock (String, Binärformat, Byte-Array) wird mit Base64-kodiert. Das Maximum des Blocks ist im Parameter TextBlockSize gesetzt. Die Größe kann geändert werden, muss jedoch durch 3 teilbar sein.
Wenn der Textblock nur ein Teil eines Texts ist, gefolgt von weiterem Text, muss die Größe TextBlockSize.iBlockSize sein und die Variable isLastBlock muss auf FALSE gesetzt werden. Wenn ein Text nicht von einem anderen Textblock gefolgt wird, muss seine spezifische Länge verwendet werden und isLastBlock muss auf TRUE gesetzt werden,wie im folgenden Beispiel dargestellt. Der Grund ist, dass drei 8-Bit-Zeichen zu 4 6-Bit-Zeichen werden. Wenn nur zwei 8-Bit-Zeichen am Ende übrig bleiben, wird der kodierte Text mit „=“ gefüllt. Dies darf nur am Ende des Texts sein.
Beispiel:
StringToConvert : PT_SIZE;
EncodedString : PT_SIZE;
byError : BYTE;
sText : STRING := 'This is a test string.';
StringToConvert.uiSize := LEN(sText); (* When another block follows, use the size TextBlockSize.iBlockSize
and set isLastBlock to FALSE. *)
StringToConvert.pString := ADR(sText);
EncodedString := Base64(TextToEncode := StringToConvert, isLastBlock := TRUE, pbyError := ADR(byError));
Ein-/Ausgänge: |
|