Reading the Wikipedia article on UTF-8, I’ve been wondering about the term overlong. This term is used various times but the article doesn’t provide a definition or reference for its meaning.
I would like to know if someone can explain the term and its purpose.
It’s an encoding of a code point which takes more code units than it needs to.
For example, U+0020 is represented in UTF-8 by the single byte
0x20. If you decode the two bytes0xc0 0xa0in the normal fashion, you’ll still end up back at U+0020, but that’s an invalid representation.The Unicode Corrigendum #1 has more information, particularly around table 3.1B.