2012-04-05 4 views

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

+0

Ich weiß nichts über RoR aber dies scheint nicht richtig. http://stackoverflow.com/questions/13378815/base64-length-calculation – spenibus