Maison > Article > développement back-end > 这JB代码到底想干嘛?
$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 - l8 if ($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