protocol UnicodeCodecType

A Unicode encoding scheme.

Consists of an underlying code unit and functions to translate between sequences of these code units and unicode scalar values.

Inheritance View Protocol Hierarchy →
Associated Types

A type that can hold code unit values for this encoding.

Import import Swift


init() Required



Static Methods

static func encode(_:output:) Required

Encode a UnicodeScalar as a series of CodeUnits by calling output on each CodeUnit.


static func encode(input: UnicodeScalar, output: (Self.CodeUnit) -> ())

Instance Methods

mutating func decode(inout:) Required

Start or continue decoding a UTF sequence.

In order to decode a code unit sequence completely, this function should be called repeatedly until it returns UnicodeDecodingResult.EmptyInput. Checking that the generator was exhausted is not sufficient. The decoder can have an internal buffer that is pre-filled with data from the input generator.

Because of buffering, it is impossible to find the corresponding position in the generator for a given returned UnicodeScalar or an error.

next: A generator of code units to be decoded.


mutating func decode<G : GeneratorType where G.Element == CodeUnit>(inout next: G) -> UnicodeDecodingResult