我有一个要通过网络发送的字符串.我需要检查它所代表的总字节数.
sys.getsizeof(string_name)返回额外的字节.例如,对于sys.getsizeof("a")返回22,而一个字符仅在python中以1个字节表示.还有其他方法可以找到这个吗?
我想测试我的代码的Unicode处理.有什么我可以在random.choice()中选择从整个Unicode范围中选择,最好不是外部模块吗?谷歌和StackOverflow似乎都没有答案.
编辑:看起来这比预期的更复杂,所以我将重新解释这个问题 - 以下代码是否足以在Unicode中生成所有有效的非控制字符?
unicode_glyphs = ''.join(
unichr(char)
for char in xrange(1114112) # 0x10ffff + 1
if unicodedata.category(unichr(char))[0] in ('LMNPSZ')
)
Run Code Online (Sandbox Code Playgroud) 有这样的UTF-8字符串:
mystring = "i??ü?"
Run Code Online (Sandbox Code Playgroud)
是否可以使用Python(2.5)以字节为单位获取其(内存中)大小?
这个问题可能看起来很傻,但是,我有一个/tmp/size.txt这样的内容:
hello
Run Code Online (Sandbox Code Playgroud)
并os.path.getsize('/tmp/size.txt')说6但是当我这样做时:
sys.getsizeof(b'hello')
# OR
sys.getsizeof(bytes(bytearray('hello')))
# OR
sys.getsizeof(bytes('hello'))
Run Code Online (Sandbox Code Playgroud)
它返回42。
是什么之间的区别os.path.getsize和sys.getsizeof?