奇趣网|统计宝|用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

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

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

奇趣网|统计宝|用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而报错.