NodeJS Buffer.equals() 比较两个缓冲区,如果相等,则返回 true,如果不相等,则返回 false。当它返回 0 时,它有点类似于 Buffer.compare() 方法。
语法
以下是NodeJS equals()方法的语法 -
buffer.equals(buf);
参数
Buffer.equals() 方法接受一个参数,该参数也是一个缓冲区。这是一个必需的参数。
- buf − 它是一个缓冲区对象,用于比较。
返回值
如果比较的缓冲区相等,则 Buffer.equals() 返回 true,如果相等,则返回 false。
例在下面的示例中,我们创建了两个缓冲区,其字符串为“Hello”。稍后使用 NodeJS buffer.equal() 方法比较两个缓冲区。
const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('Hello');
console.log("The output for buffer.equals() is "+buffer1.equals(buffer2));
输出
The output for buffer.equals() is true
例
在下面的示例中,我们创建了两个缓冲区,分别具有字符串“Hello”和“World”。稍后使用 buffer.equal() 方法比较两个缓冲区。由于字符串不同,因此 buffer.equals() 的输出将为 false。
const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('World');
console.log("The output for buffer.equals() is "+buffer1.equals(buffer2));
输出
The output for buffer.equals() is false
例
在下面的示例中,我们使用 buffer.equals 和 buffer.compare() 方法来比较字符串相同时的结果。
const buffer1 = Buffer.from("hello");
var buffer2 = Buffer.from("hello");
buffer1.equals(buffer2); // It will return true
buffer1.compare(buffer2); // It will return 0
Buffer.compare(buffer1, buffer2);// It will return 0
console.log("Using Buffer.equals() "+ buffer1.equals(buffer2));
console.log("Using Buffer.compare() "+ buffer1.compare(buffer2));
输出
Using Buffer.equals() true
Using Buffer.compare() 0
Using Buffer.compare() 0
例
buffer.equals() 方法区分大小写。这意味着字符串 Hello 和 hello 是不同的。
const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('hello');
console.log("The output for buffer.equals() is "+buffer1.equals(buffer2));
输出
The output for buffer.equals() is false
例
在示例中,我们有两个缓冲区,一个具有字符串 Hello,以及字符串 Hello 的十六进制代码值:48656c6c6f
现在,当我们比较两个缓冲区时,它将返回 true。原因是为两者分配的空间是相同的。
const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('48656c6c6f', 'hex');
console.log("The output for buffer.equals() is "+buffer1.equals(buffer2));
输出
The output for buffer.equals() is true