def __init__(self, sized, minChars=0, maxChars=0, delimiter=None): """Constructor of AbstractType: @type sized: boolean @param sized: tell if the variable can be delimited by a size or by a delimiter. @type minChars: integer @param minChars: the minimum number of characters of the variable associated to the given type. @type maxChars: integer @param maxChars: the maximum number of characters of the variable associated to the given type. @type delimiter: bitarray @param delimiter: a set of bits that tells where the associated variable ends. """ self.log = logging.getLogger('netzob.Common.MMSTD.Dictionary.Types.AbstractType.py') self.sized = sized self.setNumberBitsAndNumberChars(minChars, maxChars) self.delimiter = None try: # We assume that delimiters are written by the user as hex string. self.delimiter = TypeConvertor.hexstring2bin(delimiter) except: self.log.error("The delimiter {0} is not a valid hexadecimal string.".format(str(delimiter)))
def str2bin(self, stri): return TypeConvertor.hexstring2bin(stri)