首页 > 后端开发 > php教程 > 这JB代码终究想干嘛

这JB代码终究想干嘛

WBOY
发布: 2016-06-13 11:55:23
原创
789 人浏览过

这JB代码到底想干嘛?

<br />$ln = $this->lengthIndicator($this->QR_MODE_NM, $this->version);<br />$dif = $this->estimateBitsModeNum($run) + 4 + $ln<br />			+ $this->estimateBitsMode8(1)         // + 4 + l8<br />			- $this->estimateBitsMode8($run + 1); // - 4 - l8<br />			if ($dif > 0) {<br />				return $this->eat8();<br />			}<br /><br />function estimateBitsModeNum($size) {<br />		$w = (int)$size / 3;<br />		$bits = $w * 10;<br />		switch($size - $w * 3) {<br />			case 1: {<br />				$bits += 4;<br />				break;<br />			}<br />			case 2: {<br />				$bits += 7;<br />				break;<br />			}<br />			default: {<br />				break;<br />			}<br />		}<br />		return $bits;<br />	}<br /><br />function estimateBitsMode8($size) {<br />		return $size * 8;<br />	}<br /><br /><br />function lengthIndicator($mode, $version) {<br />		if ($mode == $this->QR_MODE_ST) {<br />			return 0;<br />		}<br />		if ($version <= 9) {<br />			$l = 0;<br />		} elseif ($version <= 26) {<br />			$l = 1;<br />		} else {<br />			$l = 2;<br />		}<br />		return $this->lengthTableBits[$mode][$l];<br />	}<br /><br />$lengthTableBits = array(<br />		array(10, 12, 14),<br />		array( 9, 11, 13),<br />		array( 8, 16, 16),<br />		array( 8, 10, 12)<br />	);
登录后复制

------解决方案--------------------
不懂二维码的原理,看代码能看懂么?
Numeric mode 数字编码,从0到9。如果需要编码的数字的个数不是3的倍数,那么,最后剩下的1或2位数会被转成4或7bits,则其它的每3位数字会被编成 10,12,14bits    对应你的estimateBitsModeNum
不同version下编码的位数:
对应你的lengthIndicator

我也不懂,帮你找的资料: http://coolshell.cn/articles/10590.html#jtss-tsina

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板