我希望len()在Python 3中复制Python 2样式,因为它与unicode字符串有关。
在Python 2中len(),unicode字符串的大小是其磁盘上的字节大小。例如:len("??")返回6。在Python 3中,len()返回字符串中的字符数,该示例返回2。
sys.getsizeof() 并不是解决方案,因为这会获取Python对象在内存中的大小,而不是对象在写入磁盘后的大小。
您可以将其编码为utf8如下所示。
>>> len('??'.encode('utf8'))
6
>>>
Run Code Online (Sandbox Code Playgroud)