Более старые версии UTF-8 допускают кодирование до 6 байтов.Позднее он был ограничен 4-байтовыми кодировками, но нет причин делать формат несовместимым для достижения этого ограничения.Число ведущих 1 указывает длину последовательности, поэтому 11111xxx по-прежнему означает «по крайней мере 5 байтов», таких правильных последовательностей просто нет.
Наличие недопустимых кодовых точек очень полезно для обнаружения повреждения (или болеекак правило, пытается декодировать данные, которые на самом деле не являются UTF-8).Поэтому несоответствие формата только для того, чтобы вернуть один бит памяти (который фактически ни для чего не мог быть использован), повредит другим целям.