Ich verwende Marshal.dump
, um ein Array von Objekten zu serialisieren, muss ich die Größe (in KB) des zurückgegebenen Werts abrufen. Irgendwelche Ideen, wie man das macht?Erhalten Sie die Größe in KB von Marshal.dump Ausgabe
0
A
Antwort
3
Da die Ausgabe von Marshal.dump
eine Zeichenfolge ist, können Sie einfach nach der Länge fragen. Der sicherste Weg dies zu tun ist für bytesize
zu fragen:
dumped = Marshal.dump(array)
kb = dumped.bytesize/1024
Die bytesize
Methode, um die Länge eines Strings in Bytes immer wieder, während length
die Länge der Zeichenfolge in Zeichen zurückgibt. Die zwei Werte können sich unterscheiden, wenn Sie eine Multi-Byte-Codierungsmethode wie UTF-8 verwenden.
0
Was ist mit kbytes = Marshal.dump(ary_of_objs).size/1000.0
?
0
var = Base64.encode64(Marshal.dump(@result))
var.size
ist Lebensretter für mich
Ich weiß nichts über RoR aber dies scheint nicht richtig. http://stackoverflow.com/questions/13378815/base64-length-calculation – spenibus