3.5. Base64 encoding and decoding

The BASE64 module implements Base64 encoding and decoding. It provides base64_encode and base64_decode for converting between binary data (strings or array<uint8>) and Base64 text representation.

All functions and symbols are in “base64” module, use require to get access to it.

require daslib/base64

Example:

require daslib/base64

    [export]
    def main() {
        let encoded = base64_encode("Hello, daslang!")
        print("encoded: {encoded}\n")
        let decoded = base64_decode(encoded)
        print("decoded: {decoded.text}\n")
    }
    // output:
    // encoded: SGVsbG8sIGRhU2NyaXB0IQ==
    // decoded: Hello, daslang!

3.5.1. Encoding

base64.BASE64_ENCODE_OUT_SIZE(s: int): int

Returns the encoded output size for binary data of length s.

Arguments:
  • s : int

3.5.1.1. base64_encode

base64.base64_encode(_inp: string): string

Encodes a string to its Base64 text representation.

Arguments:
  • _inp : string

base64.base64_encode(inp: array<uint8>|array<uint8>#): auto

3.5.2. Decoding

base64.BASE64_DECODE_OUT_SIZE(s: int): int

Returns the maximum decoded output size for a Base64 string of length s.

Arguments:
  • s : int

3.5.2.1. base64_decode

base64.base64_decode(_in: string): tuple<text:string;size:int>

Decodes a Base64-encoded string. Returns a tuple of the decoded text and its byte length.

Arguments:
  • _in : string

base64.base64_decode(_in: string; out: array<uint8>): int