ИИ сокращает текст: лимит в символах или в байтах?
ИИ сокращает текст: лимит в символах или в байтах?
Вы просите ИИ сократить название до лимита формы. На вид всё помещается, но загрузка снова отклонена. Прежде чем убирать слова, уточните, что именно считает принимающая система: байты и видимые знаки — не одно и то же.
В Python Unicode HOWTO строка описана как последовательность кодовых точек, а кодировка задаёт её представление в байтах. Мы проверили: у «abc» и «абв» по три кодовые точки, но в UTF-8 они занимают три и шесть байтов соответственно. Поэтому Python len(text) не заменяет проверку длины закодированных данных.
Дайте помощнику точное условие: Лимит поля — [N] байтов в UTF-8. Подготовь короткий вариант текста. Проверь len(text.encode('utf-8')) в Python. Покажи финальный текст, число байтов и фактический вывод. Не обрезай готовую последовательность байтов; если код не запускался, скажи об этом. Если единица лимита неизвестна, сначала найдите её в документации формы или API, а не угадывайте по сообщению «слишком длинно».
Даже число кодовых точек не всегда равно числу видимых знаков: e с отдельным знаком ударения в нашем тесте состояла из двух кодовых точек. Проверяйте именно окончательный вариант: добавленные кавычки или подпись меняют длину.
Поручайте ИИ не просто сократить текст, а проверить его в той единице, в которой задан лимит.

