我正在使用Marshal.dump
序列化一个对象数组,我需要获取返回值的大小(以KB为单位)。任何想法如何做到这一点?
答案 0 :(得分:3)
由于Marshal.dump
的输出是一个字符串,您可以只询问它的长度。最安全的方法是询问bytesize
:
dumped = Marshal.dump(array)
kb = dumped.bytesize / 1024
bytesize
方法始终以字节为单位返回字符串的长度,而length
以字符形式返回字符串的长度。如果使用UTF-8等多字节编码方法,这两个值可能会有所不同。
答案 1 :(得分:0)
kbytes = Marshal.dump(ary_of_objs).size / 1000.0
怎么样?
答案 2 :(得分:0)
var = Base64.encode64(Marshal.dump(@result))
var.size
对我来说是生命的救星