Byte representation is separated from Unicode text
The review reports exact UTF-8 bytes, strict decode status, BOM presence and round-trip behavior so hex/decimal/binary notation is not confused with Unicode code-point notation.
Characters, code points, code units, and UTF-8 bytes differ
ASCII characters use one UTF-8 byte, while many other Unicode code points require two, three, or four bytes. A user-perceived character can also contain multiple code points, such as a base letter plus combining marks or a joined emoji sequence. JavaScript string length, Unicode code-point count, grapheme count, and UTF-8 byte length can therefore all produce different numbers.
Use byte length for byte-limited systems
Check UTF-8 bytes when an API, database field, protocol, or storage format sets a byte limit. Check grapheme or character semantics when the limit is intended for visible text instead. Normalization can change the underlying code-point sequence and sometimes the byte count without visibly changing the text, so normalize consistently if a receiving system defines a required normalization form.