0

Marshal.dump用来序列化对象数组,我需要获取返回值的大小(以 KB 为单位)。任何想法如何做到这一点?

4

3 回答 3

4

由于的输出Marshal.dump是一个字符串,你可以只询问它的长度。最安全的方法是要求bytesize

dumped = Marshal.dump(array)
kb = dumped.bytesize / 1024

bytesize方法始终以字节为单位返回字符串的长度,而以字符为单位length返回字符串的长度。如果您使用像 UTF-8 这样的多字节编码方法,这两个值可能会有所不同。

于 2012-04-05T17:02:07.900 回答
0

怎么样kbytes = Marshal.dump(ary_of_objs).size / 1000.0

于 2012-04-05T16:59:14.733 回答
0
var = Base64.encode64(Marshal.dump(@result))
var.size 

是我的救命稻草

于 2015-09-07T11:46:36.870 回答