1
from
System
import
Convert
2 from System.IO import MemoryStream
3 from System.Runtime.Serialization.Formatters.Binary import BinaryFormatter
4 import copy_reg
5
6 _formatter = BinaryFormatter()
7
8 def _unpickler(string):
9 bytes = Convert.FromBase64String(string)
10 stream = MemoryStream(bytes)
11 return _formatter.Deserialize(stream)
12
13 def _pickler(obj):
14 stream = MemoryStream()
15 _formatter.Serialize(stream, obj)
16 bytes = stream.ToArray()
17 string = Convert.ToBase64String(bytes)
18 return _unpickler, (string,)
19
20 def Register(type):
21 copy_reg.pickle(type, _pickler, _unpickler)
2 from System.IO import MemoryStream
3 from System.Runtime.Serialization.Formatters.Binary import BinaryFormatter
4 import copy_reg
5
6 _formatter = BinaryFormatter()
7
8 def _unpickler(string):
9 bytes = Convert.FromBase64String(string)
10 stream = MemoryStream(bytes)
11 return _formatter.Deserialize(stream)
12
13 def _pickler(obj):
14 stream = MemoryStream()
15 _formatter.Serialize(stream, obj)
16 bytes = stream.ToArray()
17 string = Convert.ToBase64String(bytes)
18 return _unpickler, (string,)
19
20 def Register(type):
21 copy_reg.pickle(type, _pickler, _unpickler)