/** * @param $str * @param $pos * * @return bool */ public static function isAlNumAt($str, $pos) { return $pos >= strlen($str) ? false : Input::lookAnTable(ord($str[$pos])) >= 0; }
/** * @param $version * * @return int */ public function encodeModeAn($version) { try { $words = (int) ($this->size / 2); $bs = new BitStream(); $bs->appendNum(4, 0x2); $bs->appendNum(Specifications::lengthIndicator(Enum::QR_MODE_AN, $version), $this->size); for ($i = 0; $i < $words; $i++) { $val = (int) Input::lookAnTable(ord($this->data[$i * 2])) * 45; $val += (int) Input::lookAnTable(ord($this->data[$i * 2 + 1])); $bs->appendNum(11, $val); } if ($this->size & 1) { $val = Input::lookAnTable(ord($this->data[$words * 2])); $bs->appendNum(6, $val); } $this->bStream = $bs; } catch (\Exception $e) { return -1; } return 0; }