title: QR code generation failure for valid input
body: <p>I am trying to generate a custom QR code using the <code>qrcode</code> package, but I've run into an issue where it seems that it fails on valid input. I'm wondering if this is a bug in the package or expected behavior of a QR code that I'm not familiar with.</p>
  
  <p>According to <a href="http://www.qrcode.com/en/about/version.html" rel="nofollow noreferrer">this site</a> a version 1 QR code with Medium error correction can hold up to 20 alphanumeric values. Below <code>myStr</code> is a simple alphanumeric string that is 19 characters long and it fails with the output </p>
  
  <p><code>qrcode.exceptions.DataOverflowError: Code length overflow. Data size (131) &gt; size available (128)</code></p>
  
  <p>However if I change <code>myStr</code> from <code>0000000000A0000A000</code> to <code>000000000000000A000</code>, the string is still alphanumeric and still the same length, but then it passes. </p>
  
  <pre><code>import qrcode
  qr = qrcode.QRCode(
      version=1,
      error_correction=qrcode.constants.ERROR_CORRECT_M,
  )
  
  myStr = '0000000000A0000A000'
  print(len(myStr))
  qr.add_data(myStr)
  qr.make(fit=False)
  img = qr.make_image()
  </code></pre>
  
  <p>Windows, Python 2.7, qrcode version 5.3, Pillow</p>