getSize method

int getSize(
  1. Version version
)

returns the size in bits

Implementation

int getSize(Version version) {
  int size = 4 + mode.getCharacterCountBits(version);
  switch (mode) {
    case Mode.KANJI:
      size += 13 * characterLength;
      break;
    case Mode.ALPHANUMERIC:
      size += (characterLength ~/ 2) * 11;
      size += (characterLength % 2) == 1 ? 6 : 0;
      break;
    case Mode.NUMERIC:
      size += (characterLength ~/ 3) * 10;
      final rest = characterLength % 3;
      size += rest == 1
          ? 4
          : rest == 2
              ? 7
              : 0;
      break;
    case Mode.BYTE:
      size += 8 * getCharacterCountIndicator();
      break;
    case Mode.ECI:
      size +=
          8; // the ECI assignment numbers for ISO-8859-x, UTF-8 and UTF-16 are all 8 bit long
  }
  return size;
}