$ln = $this->lengthIndicator($this->QR_MODE_NM, $this->version);$dif = $this->estimateBitsModeNum($run) + 4 + $ln+ $this->estimateBitsMode8(1) // + 4 + l8- $this->estimateBitsMode8($run + 1); // - 4 - l8if ($dif > 0) {return $this->eat8();}function estimateBitsModeNum($size) {$w = (int)$size / 3;$bits = $w * 10;switch($size - $w * 3) {case 1: {$bits += 4;break;}case 2: {$bits += 7;break;}default: {break;}}return $bits;}function estimateBitsMode8($size) {return $size * 8;}function lengthIndicator($mode, $version) {if ($mode == $this->QR_MODE_ST) {return 0;}if ($version <= 9) {$l = 0;} elseif ($version <= 26) {$l = 1;} else {$l = 2;}return $this->lengthTableBits[$mode][$l];}$lengthTableBits = array(array(10, 12, 14),array( 9, 11, 13),array( 8, 16, 16),array( 8, 10, 12));
回複討論(解決方案)
你這斷章取義的,誰知到在幹什麼
代碼不完整,看不出這JB代碼到底想幹嘛。
愛幹嘛幹嘛,接分!
得了,結賬吧
完全看不懂!
產生二維碼的吧
產生二維碼的吧
真是遇見高手了。求解釋
這代碼太短了,好像是二維碼
這代碼太短了,好像是二維碼
為什麼eat12,14的情況。
不懂二維碼的原理,看代碼能看懂嗎?
Numeric mode 數字編碼,從0到9。如果需要編碼的數位個數不是3的倍數,那麼,最後剩下的1或2位元會被轉成4或7bits,則其它的每3位元字會被編成 10,12,14bits 對應你的 estimateBitsModeNum
不同version下編碼的位元:
對應你的 lengthIndicator
我也不懂,幫你找的資料: http://coolshell.cn/articles/10590.html#jtss-tsina