ASCII is a fixed-width encoding. So are many other legacy encodings, but no modern text encoding. Note, ASCII is legal UTF-8 text, but it's only fixed-width in that sense only when that subset is used. As soon as text uses even one letter outside of the ASCII subset, or even if software expects UTF-8 text, and can't rely on only the ASCII subset used, then the (UTF-8) encoding used is variable-length.