Sign in Join
FPDoc Onlineexperiment

TBase64EncodingStream class

In unit Base64

Base64 encoding stream.

Declaration

pascal
TBase64EncodingStream = class(TOwnerStream)

Inheritance

  1. TBase64EncodingStream
  2. TOwnerStream
  3. TStream
  4. TObject

Descends from it: TBase64URLEncodingStream

Description

TBase64EncodingStream can be used to encode data using the base64 algorithm. At creation time, a destination stream is specified. Any data written to the TBase64EncodingStream instance will be base64 encoded, and subsequently written to the destination stream.

The TBase64EncodingStream stream is a write-only stream. Obviously it is also not seekable. It is meant to be included in a chain of streams.

By the nature of base64 encoding, when a buffer is written to the stream, the output stream does not yet contain all output: input must be a multiple of 3. In order to be sure that the output contains all encoded bytes, the Flush method can be used. The destructor will automatically call Flush, so all data is written to the destination stream when the decodes is destroyed.

See also

Methods

DoWriteBufprotected
CreatepublicCreate a new instance of TOwnerStream.
DestroypublicRemove a TBase64EncodingStream instance from memory.
FlushpublicFlush the remaining bytes to the output stream.
WritepublicWrite data to the stream.
SeekpublicPosition the stream.

Fields

CharsPerLineprotected
LineSeparatorprotected
PadEndprotected
TotalBytesProcessedprotected
BytesWrittenprotected
LineLengthprotected
Bufprotected
BufSizeprotected
FEncodingTableprotected

Inherited

From TOwnerStream (2)

Source SourceOwner

From TObject (40)

AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.