Я работаю с загрузками Amazon S3, и у меня возникают проблемы с слишком длинными именами ключей. S3 ограничивает длину ключа байтами, а не символами.
Из документов:
Имя ключа - это последовательность символов Unicode, длина кодировки UTF-8 которых не превышает 1024 байта.
Я также пытаюсь внедрить метаданные в имя файла, поэтому мне нужно иметь возможность рассчитать текущую длину строки в байтах с помощью Python, чтобы убедиться, что метаданные не делают ключ слишком длинным (в этом случае я бы использовать отдельный файл метаданных).
Как определить длину в байтах кодированной строки utf-8? Опять же, меня не интересует длина символа ... скорее фактическая длина байта, используемая для хранения строки.