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