docs: def _text(code, quiet_zone=4):
      """This method returns a text based representation of the QR code.
      This is useful for debugging purposes.
      """
      buf = io.StringIO()
  
      border_row = '0' * (len(code[0]) + (quiet_zone*2))
  
      #Every QR code start with a quiet zone at the top
      for b in range(quiet_zone):
          buf.write(border_row)
          buf.write('\n')
  
      for row in code:
          #Draw the starting quiet zone
          for b in range(quiet_zone):
              buf.write('0')
  
          #Actually draw the QR code
          for bit in row:
              if bit == 1:
                  buf.write('1')
              elif bit == 0:
                  buf.write('0')
              #This is for debugging unfinished QR codes,
              #unset pixels will be spaces.
              else:
                  buf.write(' ')
          
          #Draw the ending quiet zone
          for b in range(quiet_zone):
              buf.write('0')
          buf.write('\n')
  
      #Every QR code ends with a quiet zone at the bottom
      for b in range(quiet_zone):
          buf.write(border_row)
          buf.write('\n')
  
      return buf.getvalue()