Я выполняю GUI работу для веб-сайта и использую атрибут "maxlength" для некоторых текстовых вводов, некоторые из которых могут содержать символы Unicode.
Скажем, у меня есть текстовое поле с maxlength = 50, и я заполняю его полными 2-байтовыми символами Unicode (UTF-16). Я могу получить 50 символов в текстовом поле.
Я также могу сделать то же самое с 3-байтовыми символами. 50 из них.
Однако я могу получить только 25 4-байтовых символов в поле. Разумеется, поскольку в два раза больше байтов, но почему он по-прежнему нормально реагирует при использовании 3-байтовых символов? Как обрабатывается дополнительный байт?