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