UTF16

A codec for UTF-16.

Inheritance UnicodeCodecType View Protocol Hierarchy →
Associated Types

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

Import
  • import Swift

Initializers

init()

Declaration

  • init()

Static Methods

static func encode(_:output:)

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

Declaration

  • static func encode(input: UnicodeScalar, output put: (CodeUnit) -> ())
static func isLeadSurrogate(_:)

Declaration

  • static func isLeadSurrogate(x: CodeUnit) -> Bool
static func isTrailSurrogate(_:)

Declaration

  • static func isTrailSurrogate(x: CodeUnit) -> Bool
static func leadSurrogate(_:)

Return the high surrogate code unit of a surrogate pair representing x.

Requires: width(x) == 2.

Declaration

static func measure(_:input:repairIllFormedSequences:)

Returns the number of UTF-16 code units required for the given code unit sequence when transcoded to UTF-16, and a bit describing if the sequence was found to contain only ASCII characters.

If repairIllFormedSequences is true, the function always succeeds. If it is false, nil is returned if an ill-formed code unit sequence is found in input.

Declaration

static func trailSurrogate(_:)

Return the low surrogate code unit of a surrogate pair representing x.

Requires: width(x) == 2.

Declaration

static func width(_:)

Return the number of code units required to encode x.

Declaration

Instance Methods

mutating func decode(inout:)

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.

Declaration