// Characters such as emojis are handled differently by Javascript. They are
// called an astral symbol and are respresented by a surrogate pair, ie two chars.
// Some references:
// https://mathiasbynens.be/notes/javascript-unicode
// https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane