From the MDN page on charCodeAt
:
The
charCodeAt()
method returns an integer between0
and65535
representing the UTF-16 code unit at the given index.The UTF-16 code unit matches the Unicode code point for code points which can be represented in a single UTF-16 code unit. If the Unicode code point cannot be represented in a single UTF-16 code unit (because its value is greater than
0xFFFF
) then the code unit returned will be the first part of a surrogate pair for the code point. If you want the entire code point value, usecodePointAt()
.
TLDR;
charCodeAt()
is UTF-16codePointAt()
is Unicode.