# String.fromCharCodes constructor

String.fromCharCodes(Iterable<int> charCodes, [ int start = 0, int end ])

Allocates a new String for the specified `charCodes`.

The `charCodes` can be UTF-16 code units or runes. If a char-code value is 16-bit, it is copied verbatim:

    new String.fromCharCodes([68]); // 'D'

If a char-code value is greater than 16-bits, it is decomposed into a surrogate pair:

    var clef = new String.fromCharCodes([0x1D11E]);
    clef.codeUnitAt(0); // 0xD834
    clef.codeUnitAt(1); // 0xDD1E

If `start` and `end` is provided, only the values of `charCodes` at positions from `start` to, but not including, `end`, are used. The `start` and `end` values must satisfy `0 <= start <= end <= charCodes.length`.

## Implementation

    external factory String.fromCharCodes(Iterable<int> charCodes,
        [int start = 0, int end]);