docs: def encode_numeric(self):
          """This method encodes the QR code's data if its mode is
          numeric. It returns the data encoded as a binary string.
          """
          with io.StringIO() as buf:
              #Break the number into groups of three digits
              for triplet in self.grouper(3, self.data):
                  number = ''
                  for digit in triplet:
                      if isinstance(digit, int):
                          digit = chr(digit)
  
                      #Only build the string if digit is not None
                      if digit:
                          number = ''.join([number, digit])
                      else:
                          break
  
                  #If the number is one digits, make a 4 bit field
                  if len(number) == 1:
                      bin = self.binary_string(number, 4)
  
                  #If the number is two digits, make a 7 bit field
                  elif len(number) == 2:
                      bin = self.binary_string(number, 7)
  
                  #Three digit numbers use a 10 bit field
                  else:
                      bin = self.binary_string(number, 10)
  
                  buf.write(bin)
              return buf.getvalue()