EightBitByte.php 856 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. *
  4. * @filesource EightBitByte.php
  5. * @created 25.11.2015
  6. * @package codemasher\QRCode
  7. * @author Smiley <smiley@chillerlan.net>
  8. * @copyright 2015 Smiley
  9. * @license MIT
  10. */
  11. namespace codemasher\QRCode\Data;
  12. use codemasher\QRCode\BitBuffer;
  13. use codemasher\QRCode\QRConst;
  14. use codemasher\QRCode\Data\QRDataBase;
  15. use codemasher\QRCode\Data\QRDataInterface;
  16. /**
  17. * Class EightBitByte
  18. */
  19. class EightBitByte extends QRDataBase implements QRDataInterface{
  20. /**
  21. * @var
  22. */
  23. protected $mode = QRConst::MODE_8BIT_BYTE;
  24. /**
  25. * @param $buffer
  26. */
  27. public function write(BitBuffer &$buffer){
  28. $data = $this->getData();
  29. $len = strlen($data);
  30. for($i = 0; $i < $len; $i++){
  31. $buffer->put(ord($data[$i]), 8);
  32. }
  33. }
  34. /**
  35. * @return int
  36. */
  37. public function getLength(){
  38. return strlen($this->getData());
  39. }
  40. }