Unicode code points versus UTF-16 code units
Learn why JavaScript string length can differ from the number of Unicode scalar values, how surrogate pairs represent supplementary values, and what UnicodeLens counts.
Read articleText representation without guesses
Three focused articles separate scalar values from UTF-16 units, explain UTF-8 byte widths and compare composed with decomposed text.
Learn why JavaScript string length can differ from the number of Unicode scalar values, how surrogate pairs represent supplementary values, and what UnicodeLens counts.
Read articleFollow the one-to-four-byte UTF-8 ranges, compare ASCII, accents and emoji, and understand why encoded byte size is not visible character length.
Read articleCompare precomposed é with e plus a combining acute accent, see their different code points and bytes, and learn why UnicodeLens never normalizes silently.
Read article