一个string有多less个字节
有一些函数会告诉我一个string在内存中占用了多less字节?
我需要设置一个套接字缓冲区的大小,以便一次传输整个string。
import sys sys.getsizeof(s) # getsizeof(object, default) -> int # Return the size of object in bytes.
但实际上你需要知道它的代表长度,所以像len(s)
这样的东西应该就足够了。
如果它是一个Python 2.x str
,请获取它的len
。 如果是Python 3.x str
(或Python 2.x unicode
),首先使用您的首选编码( 'utf-8'
是个不错的select)将其编码为bytes
(或分别为str
),然后获取len
编码的字节/ str对象。
例如,ASCII字符每个使用1个字节:
>>> len("hello".encode("utf8")) 5
而中国人使用3个字节:
>>> len("你好".encode("utf8")) 6