1.6 KiB
Encoding
Base64Encoder is used to encode Base64 data. It works either as a stream or as a bulk decoder.
Bulk
Base64 can be bulk-encoded using a static method encode. This throws an error if the base64 is invalid.
You can encode String, Data or ByteBuffer input.
let encodedData: Data = Base64Encoder.encode(input)
Stream
To use the Base64 streaming encoder, you first need to initialize the Base64Encoder.
let encoder = Base64Encoder()
The input of the Base64Encoder is the raw data. The output is Base64 encoded data. The final Base64-padding will be applied only when the input stream closes.
Decoding
Base64Decoder is used to decode Base64 data. It works either as a stream or as a bulk decoder.
Bulk
Base64 can be bulk-decoded using a static method decode. This throws an error if the base64 is invalid.
You can decode String, Data or ByteBuffer input.
let decodedData: Data = try Base64Decoder.decode(input)
Stream
To use the Base64 streaming decoder, you first need to initialize the Base64Decoder.
let encoder = Base64Decoder()
The input of the Base64Decoder is the Base64 encoded data. The output is raw data.
Optimization
Both Base64Encoder as well as Base64Decoder accept the decodedCapacity. This is the expected amount of decoded bytes you expect to input or receive.
If you expect to receive (a maximum of) 100_000 bytes of input to encode per event on the stream, you should make that the decodedCapacity. By default it's set to UInt16.max, which is sensible for TCP sockets.