Да, мы можем, и это UTF-32.
Проблема в том, что UTF-32 тратит много места. Если текст содержит много текста на европейском / иврите / арабском языке, для UTF-8 требуется всего 1–2 байта на кодовую точку, а для UTF-32 - 4 байта на кодовую точку.
Если мы сохраним целочисленное значение как переменный размер, например 0 ~ 255 используют 1 байт, 256 ~ 65535 используют 2 байта и т. Д., У нас будет проблема неоднозначности, например, 5a 5a
должен представлять "ZZ" или "& # x5a5a;"? По сути, решением является то, что мы назвали UTF-8 - мы используем некоторые специальные биты, чтобы указать длину последовательности байтов, чтобы дать уникальный результат декодирования.