示例#1
0
 def unpack(cls, data):
     # we special-case as we need properties unpack class to change according to method_class
     method_class, data = Octet.unpack(data)
     weight, data = Octet.unpack(data)
     body_size, data = LongLong.unpack(data)
     properties, data = Properties.get_by_class(method_class).unpack(data)
     return cls(method_class, body_size, properties)
示例#2
0
	def unpack(cls, data):
		scale, data = Octet.unpack(data)
		scale = scale.value
		value, data = SignedLong.unpack(data)
		value = value.value
		sign = 0
		if value < 0:
			sign = 1
			value = -value
		digits = []
		while value:
			digits.append(value % 10)
			value /= 10
		digits = digits[::-1]
		exponent = -scale
		return cls(PyDecimal((sign, digits, exponent))), data