Home  >  Article  >  Backend Development  >  这JB代码到底想干嘛?

这JB代码到底想干嘛?

WBOY
WBOYOriginal
2016-06-23 13:58:301014browse

$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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn