codePointAt

Return a Unicode code point from a string at a specified position.

Usage

var codePointAt = require( '@stdlib/string/code-point-at' );

codePointAt( string, position[, backward] )

Returns a Unicode code point from a string at a specified position.

var out = codePointAt( 'last man standing', 4 );
// returns 32

The function supports providing a backward argument for performing backward iteration for low surrogates.

var out = codePointAt( '๐ŸŒท', 1, true );
// returns 127799

The function supports providing a negative position.

var out = codePointAt( 'last man standing', -13 );
// returns 32

Notes

This function differs from String.prototype.codePointAt in the following ways:

  • The function supports providing a negative position. If provided a negative position, the function determines the string position relative to the end of the string.
  • The function supports providing a backward argument for performing backward iteration for low surrogates. String.prototype.codePointAt simply returns the low surrogate value if no UTF-16 surrogate pair begins at the specified position. If invoked with backward set to true, this function will return the code point after aggregating with the preceding high surrogate, if the specified position does not mark the start of a surrogate pair.
  • The function raises an exception if provided a position which exceeds the bounds of the input string.

Examples

var codePointAt = require( '@stdlib/string/code-point-at' );

var v = codePointAt( 'last man standing', 4 );
// returns 32

v = codePointAt( 'presidential election', 8, true );
// returns 116

v = codePointAt( 'เค…เคจเฅเคšเฅเค›เฅ‡เคฆ', 2 );
// returns 2369

v = codePointAt( '๐ŸŒท', 1, true );
// returns 127799

CLI

Usage

Usage: code-point-at [options] --pos=<index> [<string>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  -b,    --backward            Backward iteration for low surrogates.
         --pos index           Position in string.

Examples

$ code-point-at --pos=2 เค…เคจเฅเคšเฅเค›เฅ‡เคฆ
2369

To use as a standard stream,

$ echo -n 'เค…เคจเฅเคšเฅเค›เฅ‡เคฆ' | code-point-at --pos=2
2369
Did you find this page helpful?