奇趣网|统计宝|用string.crc32()函数进行循环冗余校验

在现代信息通信中,用什么方法可以简单方便地知道对方收到的是我发送过去的完整内容而没有错漏呢?使用string.crc32()函数进行循环冗余校验是一种比较好的算法.

奇趣网统计宝的网页机器人里输入以下源码:

var _string = await jsx.loadcodex("return string;");
var a = await _string.crc32("中国1");
console.log("a:",a);
var b = await _string.crc32("中国2");
console.log("b:",b);
var c = await _string.crc32("中国2");
console.log("c:",c);

运行后输出:

a: 83861905
b: -1644761045
c: -1644761045

我们可以看到,不同的内容它的crc32校验值是不同的,而相同的内容它的crc32校验值是相同的,所以当你把一段信息发送给对方之后,让对方把收到的信息进行crc32校验然后把校验码发给你,就可以知道发送过程中信息有没有发生错漏了.

奇趣网|统计宝|用string.concat()函数拼接可能为null的变量

在编程的过程中,我们会经常遇到变量值可能为null的情况,如果直接用+号连接会报错,所以用string.concat()函数拼接可能为null的变量.

奇趣网统计宝的网页机器人里输入以下源码:

var _string = await jsx.loadcodex("return string;");
console.log("结果:",await _string.concat ("1","23","abcdefg"));
console.log("结果:",await _string.concat ("你","好",null));

输出:

结果: 123abcdefg
结果: 你好

可以看到这个函数可以很好地兼容拼接的内容为null时的情况,不会因为拼接的变量为null而报错.

奇趣网|统计宝|用string.collate()比较两个字符串是否相同

奇趣网统计宝的网页机器人里输入以下源码,

var _string = await jsx.loadcodex("return string;");
console.log("比较结果:",await _string.cmp ("1","1"));
console.log("比较结果:",await _string.cmp ("1","3"));

运行后输出:

比较结果: 0
比较结果: -2

string.collate()函数的作用就是比较两个字符串是否相同,注意区分大小写,即使内容相同但大小写不同,也会被认为是不同.相同则返回0,不相同则返回非0整数.

奇趣网|统计宝|string.cmp()是怎么比较两个字符串?

奇趣网统计宝的网页机器人里输出以下源码运行:

var _string = await jsx.loadcodex("return string;");
console.log("比较结果:",await _string.cmp ("1","b"));
console.log("比较结果:",await _string.cmp ("1","3"));
console.log("比较结果:",await _string.cmp ("10","30"));
console.log("比较结果:",await _string.cmp ("1","3b"));
console.log("比较结果:",await _string.cmp ("1a","3b"));

可以看到输出:

比较结果: -49
比较结果: -2
比较结果: -2
比较结果: -2
比较结果: -2

string.cmp()的作用就是比较两个字符串.

奇趣网|统计宝|string.charCodeAt()的作用是什么?

前面说到 string.charAt(UTF8字符串,字符位置) 函数的功能是返回UTF8编码的文本指定位置的字符,那么在奇趣网统计宝的网页机器人里,string.charCodeAt (UTF8字符串,字符位置)的功能又是什么呢?

我们通过对比发现,charCodeAt比charAt多了Code,这个Code指的是Unicode,string.charCodeAt (UTF8字符串,字符位置)的作用就是返回UTF8编码的文本指定位置的字符的Unicode编码.

我们输入以下源码:

var _string = await jsx.loadcodex("return string;");
console.log("字符的Unicode编码:",await _string.charCodeAt ("123456",2));
console.log("字符的Unicode编码:",await _string.charCodeAt ("abcdef",2));
console.log("字符的Unicode编码:",await _string.charCodeAt ("中国必赢",2));

运行后输出:

字符的Unicode编码: 50
字符的Unicode编码: 98
字符的Unicode编码: 22269

可以看到输出的 50 98 22269 分别是数字2英文b汉字国的Unicode编码.

奇趣网|统计宝|string.charAt()函数怎么用?

在统计宝里打开开发者工具输入以下代码:

var _string = await jsx.loadcodex("return string;");
console.log("第2个字符是:",await _string.charAt("123456",2));
console.log("第2个字符是:",await _string.charAt("abcdef",2));
console.log("第2个字符是:",await _string.charAt("中国必赢",2));

运行后可以看到输出:

第2个字符是: 2
第2个字符是: b
第2个字符是: 国

奇趣网统计宝的网页机器人里,string.charAt(UTF8字符串,字符位置)函数的功能是返回UTF8编码的文本指定位置的字符,第一个参数,如果是非UTF8编码的字符要先转换为UTF8编码才能正确返回预期的内容.第二个参数,是指定要返回肉眼可见可数的第几个字符.比如上面的例子中,每个英文和数字都是占一个字节而汉字占4个字节,但第二个汉字是国字,它是按字符来算而不考虑字节的不同.

奇趣网|统计宝|string.bytes()怎么用?

统计宝的网页机器人的网页里右键检查打开开发者工具,切换到源代码选项页,新建源代码片断,输入以下源码:

var _string = await jsx.loadcodex("return string;");
console.log("汉字每个字占多少个字节:",await _string.bytes("中"));
console.log("英文每个字占多少个字节:",await _string.bytes("abcdefg"));
console.log("数字每个字占多少个字节:",await _string.bytes("1234567890"));

点”Ctrl+Enter”运行,可以看到输出:

汉字每个字占多少个字节: 3
英文每个字占多少个字节: 1
数字每个字占多少个字节: 1

由此可知在奇趣网统计宝的网页机器人里,每个汉字占3个字节,每个英文字母占1个字节,每个数字占1个字节.

string.bytes (字符串,字符数量,开始位置) 的作用是将字符计数转为字节计数,它有三个参数,第一个参数是字符串,第二个参数是字符数量,第三个参数指定开始的位置.

例如:

var _string = await jsx.loadcodex("return string;");
var str = "中国人123abc";
var length = await _string.len(str);
console.log("字符串长度:",length);
console.log("占多少个字节:",await _string.bytes(str,length,1));

输出:

字符串长度: 9
占多少个字节: 15

奇趣网|统计宝教程|分析3D的BAI位SHI位GE位数字规律

统计宝是免费的,它可以分析任何随机数的规律,不限行业,不限类型,是一种通用型的分析工具。今天我们以3D的随机数为例,分析3D指定位置数字规律。

教程中所用到的数据文本文件“3d2022.txt”可以在以下网盘下载:

蓝奏云网盘下载地址:https://wwa.lanzoui.com/b0brzrhha

下载密码:abcd

第1步,从国家正规网站把2022年的公开数据采集下来,保存文本文件为“3d2022.txt”。其内容为:

2022-01-01 2022001 349
2022-01-02 2022002 927
2022-01-03 2022003 010
2022-01-04 2022004 739
2022-01-05 2022005 240
… …
2022-04-19 2022099 393
2022-04-20 2022100 666
2022-04-21 2022101 731
2022-04-22 2022102 851
2022-04-23 2022103 958

第2步,打开统计宝,按以下步骤操作:

(1)点“选项”菜单。

(2)点“选项窗”菜单项。

(3)切换到“图表设置”页。

(4)点击表格第一行“数据源值”。

(5)设置文件路径为“C:\Users\Administrator\Desktop\3d2022.txt”。如果你的桌面文件不是这个,要相应修改,在文件上按鼠标右键打开文件属性窗在位置项里可以看到本机桌面的路径。

(6)点击“按字节起止截取数据”。

(7)起,填写20,止,填写20。

(8)勾上“每行截取前多少个字符作为数据编号”,填写10。

(9)点击“生成图表”按钮。

第3步,生成图表后,在选项窗里点击“数据表格”选项页,核对下数据有无错误。如下图所示,我们看到“数据编号”列是“2022-01-01”之类日期,“数据源值”列是“3 9 0 7 2 8 ……”是BAI位的数据列,数据正确无误。

第4步,关掉选项窗,在主窗口里对各个指标进行分析。

主窗口里有“数据源值、波动值、十数遗漏值、十数点数线、组合点数线、K线、MACD线、RSI线、KDJ线”等各种指标图表可供分析。其中,“K线、MACD线、RSI线、KDJ线”是股票中常用的指标,请自行搜索查找相关资料学习。

第4步,如果要分析SHI位的数据,则在“选项窗-图表设置-数据源值”里点击“按字节起止截取数据”,起21,止21,点“确定生成”图表按钮。然后切换到“选项窗-数据表格”,可以查看到“数据源值”列是“4 2 1 3 4 8 ……”,正是SHI位的数据,数据准确无误。

第5步,如果要分析GE位的数据,则“按字节起止截取数据”,设置起22,止22,点“确定生成”图表按钮。然后切换到“选项窗-数据表格”,可以查看到“数据源值”列是“9 7 0 9 0 7 ……”,正是GE位的数据,数据准确无误。

统计宝是免费的通用型的数据分析工具,它就像一把白纸,不针对行业,不针对用途,别人用它来干什么,软件作者是不知道的,也没办法监管的,请各位数据分析爱好者在当地法律法规允许的范围内使用,软件作者不为用户的任何行为及其后果负任何法律责任。

奇趣网|统计宝|奇趣随机数生成器|随机数生成器怎么保证足够随机以保证公平?

奇趣编程认为随机数生成器可以分为两大类,伪随机数和真随机数。

伪随机数,是用软件算法来生成随机数的,这些算法根据随机数种子来计算出随机数结果,缺点是只要别人通过某些方式知道了随机数种子,就能计算出相同的随机数结果。

真随机数,是基于现实物理的声、热、光、电之类的数据来计算出来的随机数,只要别人没能控制和观察产生随机数的物理装置,则产生出来的随机数结果就是安全的。目前我国已经研究出与器件无关的量子随机数生成器,是非常尖端的科技,目前还不能普及应用,只能用于科研中。

量子随机数的出现,应该会未来发挥极大的作用,让我们拭目以待。

奇趣网|统计宝|奇趣随机数生成器|与器件无关的量子随机数是怎么生成的?有漏洞 吗?

在多数人的认知里,中国是落后于国外的,但是最近这些年,奇趣编程看到已经有个别方面已经领先全世界很小的一丁点,比如说,与器件无关的量子随机数生成器

毫无疑问,未来肯定是量子科技和人工智能的时代,中国能紧跟世界尖端科技甚至偶尔领跑一下,是国人的自信心有重大意义。

与器件无关的量子随机数是怎么生成的呢?是利用量子纠缠的内禀随机性来生成的,这是目前世界上最尖端、最先进、最安全、最随机的随机数生成方法。

随机数为什么如此重要?因为现代各行各业甚至日常生活都需要用到随机数。比如通信安全方面,就需要随机数来进行加密防止重要信息被他人窃取,如果能使用上国产制造的量子随机数生成器,就不需要使用不可信的第三方制造的器件,从而保障我国的信息安全。

过去计算机里生成随机数的方法主要有两种,一种是基于软件算法来生成随机数,另一种是基于热噪声来生成随机数。用软件算法来生成随机数的缺点是输入和输出是固定对应的,如果输入条件被别人探测到,就有可能被人推算出随机数结果,所以这种方式并不是很安全。而基于热噪声生成随机数的方法,本质上别人也是可以探测到热噪声的,只不过难度更大。所以这两种方式都存在着不安全因素。

而我国研究出来的与器件无关的量子随机数,是属于真随机数,可以彻底解决安全问题,也有希望基于此形成新一代的国际随机数标准。