How does this change when using multibyte characters, particularly UTF-8, in which characters have different widths? This is an important consideration in almost all languages other than English. Modern software should never be written with the assumption that a character uses one byte.