Estoy trabajando con las cargas de Amazon S3 y estoy teniendo problemas con los nombres clave que son demasiado largos. S3 limita la longitud de la clave por bytes, no por caracteres.¿Cómo puedo determinar la longitud de bytes de una cadena codificada en utf-8 en Python?
A partir de los documentos:
El nombre de una clave es una secuencia de caracteres Unicode cuya codificación UTF-8 es como máximo 1024 bytes de longitud.
también intento para incrustar metadatos en el nombre del archivo, así que tengo que ser capaz de calcular la longitud de bytes actual de la cadena usando Python para asegurarse de que los metadatos no hace que la tecla demasiado tiempo (en cuyo caso Tendría que usar un archivo de metadatos por separado).
¿Cómo puedo determinar la longitud de bytes de la cadena codificada en utf-8? De nuevo, no estoy interesado en la longitud del carácter ... sino en la longitud real del byte utilizada para almacenar la cadena.
Gracias. También encontré un sitio web que le muestra cómo hacerlo en varios idiomas aquí: http://rosettacode.org/wiki/String_length#Byte_Length_49 – user319862