*** When enable-multibyte-characters is non-nil, a single character in
a buffer or string can be two or more bytes (as many as four).

Buffers and strings are still made up of unibyte elements; character positions and string indices are always measured in bytes. Therefore, moving forward one character can increase the buffer position by 2, 3 or 4. The function forward-char moves by whole characters, and therefore is no longer equivalent to (lambda (n) (goto-char (+ (point) n))).

ASCII characters (codes 0 through 127) are still single bytes, always. Sequences of byte values 128 through 255 are used to represent non-ASCII characters. These sequences are called "multibyte characters".

The first byte of a multibyte character is always in the range 128 through 159 (octal 0200 through 0237). These values are called "leading codes". The second and subsequent bytes are always in the range 160 through 255 (octal 0240 through 0377). The first byte, the leading code, determines how many bytes long the sequence is.