微信临时二维码时为32位非0整型

生成带参数的临时二维码时,需要指定场景值ID(scene_id), 由于项目中需要通过场景值来详细记录二维码的来源,故想对这个场景值id做出一个统一的生成机制。
微信文档中的表述如下:
scene_id:场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1–100000)。

然后团队中的人就以为这里的32位非0整型,是指长度为32位的数字就可以了。 结果当我们指定scene_id为 12345678901234567890123456789012 时, 我们扫描二维码,微信推送回来的EventKey 则总是:4294967295.

很纳闷,研究了很久。后来突然想 “32位非0整型” 这句话到底是什么意思呢?
其实是指 二进制的位数是32位,而不是10进制的位数。~~~

posted @ 2016-09-27 02:15  再見理想  阅读(1498)  评论(0编辑  收藏  举报