Tôi đang làm việc với tải lên S3 của Amazon và đang gặp sự cố với các tên khóa quá dài. S3 giới hạn chiều dài của khóa theo byte, chứ không phải ký tự.Làm cách nào để xác định độ dài byte của chuỗi được mã hóa utf-8 bằng Python?
Từ các tài liệu:
Tên cho một chìa khóa là một chuỗi các ký tự Unicode có mã UTF-8 là độ dài không quá 1024 byte.
Tôi cũng cố gắng nhúng siêu dữ liệu vào tên tệp, vì vậy tôi cần tính toán độ dài byte hiện tại của chuỗi bằng Python để đảm bảo siêu dữ liệu không tạo khóa quá dài (trong trường hợp này Tôi sẽ phải sử dụng một tệp siêu dữ liệu riêng biệt).
Làm cách nào để xác định độ dài byte của chuỗi được mã hóa utf-8? Một lần nữa, tôi không quan tâm đến chiều dài ký tự ... thay vì độ dài byte thực tế được sử dụng để lưu trữ chuỗi.
Cảm ơn. Tôi cũng tìm thấy một trang web cho bạn biết cách thực hiện bằng nhiều ngôn ngữ tại đây: http://rosettacode.org/wiki/String_length#Byte_Length_49 – user319862