JS: String.prototype.codePointAt (Char to Char ID) ❌

By Xah Lee. Date: . Last updated: .

(new in ECMAScript 2015)

str.codePointAt(index)

Return a integer that's the Code Point of character at position index of str.

console.log("ABC".codePointAt(0));
// 65
// character: A (codepoint 65, #x41)

console.log("ABC".codePointAt(1));
// 66
// character: B (codepoint 66, #x42)

🛑 WARNING: string methods do not work the way you think if it contains characters outside of Unicode Basic Multilingual Plane (e.g. emoji 🦋.). See JS: String Index Code Unit

// codePointAt does not work well if you have emoji or rare unicode in string

// we want to get code point of b
// The character b codepoint is 98.
console.log("🦋b".codePointAt(1));
// 56715

// wrong.

// 56715 in hexadecimal it is
console.log("🦋b".codePointAt(1).toString(16));
// dd8b

/*
dd8b is second half of the butterfly in UTF16.
*/

/*
🦋
BUTTERFLY
ID 129419
HEXD 1F98B
UTF8  F0 9F A6 8B
UTF16 D83E DD8B
*/

See also: Unicode Search 😄

JavaScript. String, Char, Encoding, Hexadecimal

JS String.prototype