python - 如何确定 Python 中 utf-8 编码字符串的字节长度?

标签 python unicode utf-8

我正在处理 Amazon S3 上传,但我遇到了 key 名称太长的问题。 S3 按字节而不是字符来限制 key 的长度。

来自文档:

The name for a key is a sequence of Unicode characters whose UTF-8 encoding is at most 1024 bytes long.

我还尝试在文件名中嵌入元数据,因此我需要能够使用 Python 计算字符串的当前字节长度,以确保元数据不会使 key 过长(在这种情况下我会使用单独的元数据文件)。

如何确定 utf-8 编码字符串的字节长度?同样,我对字符长度不感兴趣……而是用于存储字符串的实际字节长度。

最佳答案

def utf8len(s):
    return len(s.encode('utf-8'))

在 Python 2 和 3 中运行良好。

关于python - 如何确定 Python 中 utf-8 编码字符串的字节长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714826/

相关文章:

Python线程处理数据库行

python - 如何从元组迭代创建 numpy.ndarray

xml - 传输编码对 XML 编码和字符引用的影响

ios - 解码混淆值 - 无法将数据转换为字符串

c - 解析 const char * 返回一个向上看的小三角形。是哪个角色?

Python错误TypeError : string indices must be integers

python - 更改堆积面积图中某一段的透明度

haskell - GHCi/Haskell 对黑色典当 unicode 字符有什么问题?

Python 3.3 : Is it possible to put unicode characters on buttons with tkinter?

c# - 为什么这个正则表达式返回真?