func transcode(_:from:to:stoppingOnError:into:)(_ input: Input, from inputEncoding: InputEncoding.Type, to outputEncoding: OutputEncoding.Type, stoppingOnError stopOnError: Bool, into processCodeUnit: (OutputEncoding.CodeUnit) -> Void) -> Bool Translates the given input from one Unicode encoding to another by calling the given closure. The following example transcodes the UTF-8 representation of the string "Fermata 𝄐" into UTF-32. let fermata = "Fermata 𝄐" let bytes = fermata.utf8 print(Array(bytes)) // Prints "[70, 101, 114, 109, 97, 116, 97, 32, 240, 157, 132, 144]" var codeUnits: [UTF32.CodeUnit] = [] let sink = { codeUnits.append($0) } transcode(bytes.makeIterator(), from: UTF8.self, to: UTF32.self, stoppingOnError: false, into: sink) print(codeUnits) // Prints "[70, 101, 114, 109, 97, 116, 97, 32, 119056]" The sink closure is called with each resulting UTF-32 code unit as the function iterates over its input.