GID96.py 文件源码

python
阅读 51 收藏 0 点赞 0 评论 0

项目:tagberry 作者: csailer 项目源码 文件源码
def encode(self,generalManager,indicatorDigit,objectClass,filter_value,serialNumber=0):
        """
        encodes an GID-96. 
        """
        #Reload fields
        self._loadFields()


        #General Manager
        generalManagerField = self.getField("GeneralManager")
        generalManagerField.setBitLength(28)
        generalManagerField.setDigitLength(28/4)
        generalManagerField.setOffset(8)
        self.setFieldValue("GeneralManager",int(generalManager))

        #ObjectClass
        objectClassField = self.getField("ObjectClass")
        objectClassField.setBitLength(24)
        objectClassField.setDigitLength(24/8)
        objectClassField.setOffset(36)
        self.setFieldValue("ObjectClass",int(objectClass))
        #SerialNumber
        serialNumberField = self.getField("SerialNumber")
        serialNumberField.setBitLength(36)
        serialNumberField.setDigitLength(36/4)
        self.setFieldValue("SerialNumber",int(serialNumber))
        #Set the PackString Format
        self._packStringFormat = 'uint:8, uint:28, uint:24, uint:36'
        #Pack the bitstring
        bsp=  bitstring.pack(self._packStringFormat, 
                                int(self.getFieldValue("Header")), 
                                int(self.getFieldValue("GeneralManager")),
                                int(self.getFieldValue("ObjectClass")), 
                                int(self.getFieldValue("SerialNumber")))

        #Set the _bits for the GID-96
        self._bits = bsp.unpack("bin")[0][2:]

        return self
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号