奇趣网|统计宝|用string.getUtf() 函数获取字符串的UTF格式标记

奇趣网统计宝的网页机器人里可以使用string.getUtf()函数获取字符串的UTF格式标记。输入源码:

var _string = await jsx.loadcodex(“return string;”);
var a = await _string.getUtf(“统计宝”);
console.log(“a:”,a);

若输出16 表示双字节编码的UTF-16编码
若输出8 表示UTF-8字符串,
若输出(8 | 1) 表示UTF-8、ANSI兼容编码,即所有字符小于0x80

通过这个函数我们可以知道从别处得到的文本是什么编码。

奇趣网|统计宝|挖掘少量数据规律的思路

在我前面的系列文章里,奇趣网统计宝详细讲解过挖掘大量数据规律的思路,比如手上的数据有几千上万条的时候,它基本是符合大数定律的,每个数字出现的次数是接近它的平均值的,我们可以利用大数定律来预判大数据未来的数据。

但是手上只有少量数据的时候怎么办呢?比如手上只有几十或几百条数据,它就很难呈现出大数定律的规律了,这时候我们可以用“规律库”思路,预先设计好上千上万条规律,然后把数据套进去对比,把符合的规律显示出来,并按某种规则进行排序,这样就能对少量数据的未来可能性进行某种程度上的预判。

比如说,黑箱里有十个球,每次拿一个出来又放回去打乱重新拿,拿了20次之后,第21次将会拿出哪个乒乓球的可能性最大?这就是咱们要研究的问题。

奇趣网|统计宝|用string.fromCharCode()函数将字符编码转换为字符

字符A的的二进制数值为0100 0001,转换为10进制为65,即,字符A的编号为10进制的65,二进制的0100 0001,在奇趣网统计宝的网页机器人里可以使用string.fromCharCode()函数在字符集对照表里把字符编码转换为字符。输入源码:

var _string = await jsx.loadcodex("return string;");
var a =  await _string.fromCharCode(65);
console.log("a:",a);
var b =  await _string.fromCharCode(66);
console.log("b:",b);

输出:

a: A
b: B

Unicode字符集共有17 × 65536 = 111 4112 个码点,并不是每个码点就一定对应有一个字符,因为,目前Unicode字符集中有很多码点都还未被使用。

奇趣网|统计宝|用string.format()函数格式化字符

有时候我们想把某些长短不一的数字在前面补0变成统一长度的数字,怎么办呢?在奇趣网统计宝的网页机器人里,可以使用string.format()函数格式化字符。输入源码:

var _string = await jsx.loadcodex("return string;");
var a =  await _string.format("%08i",12345);
console.log("a:",a);
var b =  await _string.format("%08d",23456);
console.log("b:",b);

输出:

a: 00012345
b: 00023456

可以看到此源码会自动在前面补0把它补够指定长度。

奇趣网|统计宝|用string.unescape()函数解转义字符串

奇趣网统计宝的网页机器人里,string.unescape()函数可以用来解转义字符串,也就是把转义符渲染输出成不可见的东西。

var _string = await jsx.loadcodex("return string;");
var a = await _string.unescape("1111_\t_2222",true,true);
console.log("a:",a);

运行后输出:

a: 1111_	_2222

可以看到“\t”被渲染输出为不可见的长空格。

奇趣网|统计宝|用string.escape()函数查看字符串中有哪些不可见的转义字符

有时候从别处获取回来的一些字符串中,会存在不可见的转义字符,比如换行符、回车符、制表符、换页符、结束符等,怎么把这些不可见的转义字符转换成可见的转义编码呢?在奇趣网统计宝的网页机器人输入以下源码:

var _string = await jsx.loadcodex("return string;");
var a = await _string.escape("1111_	_2222",true,true);
console.log("a:",a);

运行后输出:

a: 1111_\t_2222

由此可知此字符串里包含了一个横向制作符“\t”,它显示时是一个看不见的长空格。

奇趣网|统计宝|用string.endWith()函数判断是否在末尾

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

var _string = await jsx.loadcodex("return string;");
var a = await _string.endWith("aaaaaaaaaabbbb","bbb");
console.log("a:",a);
var b = await _string.endWith("aaaaaaaaaabbbb","ccc");
console.log("b:",b);

运行后输出:

a: true
b: false

string.endWith()函数的作用就是判断某段字符符是否在另一段字符串的末尾,是则返回真,否则返回假。

奇趣网|统计宝|用string.crlf()函数替换字符串中的回车符换行符

有时候从别处获取回来的字符串有回车符、换行符、回车换行符混合使用,怎么样把这三种符全部替换为回车换行符呢?在奇趣网统计宝的网页机器人里可以使用string.crlf()函数:

var _string = await jsx.loadcodex("return string;");
var str = '111 \r 222 \r\n 333 \n 444'
var a = await _string.crlf(str,'\r\n');
var b = await _string.escape(a);
console.log("b:",b);

输出:

b: 111 \r\n 222 \r\n 333 \r\n 444

为什么会有回车符、换行符、回车换行符的不同呢?这就是windows系统、linux系统、IOS系统之间的历史问题了。

奇趣网|统计宝|用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校验然后把校验码发给你,就可以知道发送过程中信息有没有发生错漏了.