获取 Marshal.dump 输出的大小(以 KB 为单位)



我正在使用Marshal.dump来序列化对象数组,我需要获取返回值的大小(以 KB 为单位)。有什么想法吗?

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

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

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

kbytes = Marshal.dump(ary_of_objs).size / 1000.0呢?

var = Base64.encode64(Marshal.dump(@result))
var.size 

是我的救命恩人

最新更新