buf.slice([start[, end]])
历史
版本 | 变化 |
---|---|
v17.5.0 | buf.slice() 方法已被弃用。 |
v7.0.0 | 现在,所有偏移量在对其进行任何计算之前都被强制转换为整数。 |
v7.1.0、v6.9.2 | 将偏移量强制为整数现在可以正确处理 32 位整数范围之外的值。 |
v0.3.0 | 添加于:v0.3.0 |
参数
start
<integer> 新的Buffer
将从哪里开始。 默认:0
。end
<integer> 新的Buffer
将在哪里结束(不包括在内)。 默认:buf.length
- 返回: <Buffer>
Stability: 0 - 已弃用:改用
buf.subarray
。返回一个新的 Buffer
,它引用与原始内存相同的内存,但被 start
和 end
索引偏移和裁剪。
此方法与 Uint8Array.prototype.slice()
不兼容,它是 Buffer
的超类。要复制切片,请使用 Uint8Array.prototype.slice()
。
import { Buffer } from 'node:buffer'; const buf = Buffer.from('buffer'); const copiedBuf = Uint8Array.prototype.slice.call(buf); copiedBuf[0]++; console.log(copiedBuf.toString()); // Prints: cuffer console.log(buf.toString()); // Prints: buffer // With buf.slice(), the original buffer is modified. const notReallyCopiedBuf = buf.slice(); notReallyCopiedBuf[0]++; console.log(notReallyCopiedBuf.toString()); // Prints: cuffer console.log(buf.toString()); // Also prints: cuffer (!)
const { Buffer } = require('node:buffer'); const buf = Buffer.from('buffer'); const copiedBuf = Uint8Array.prototype.slice.call(buf); copiedBuf[0]++; console.log(copiedBuf.toString()); // Prints: cuffer console.log(buf.toString()); // Prints: buffer // With buf.slice(), the original buffer is modified. const notReallyCopiedBuf = buf.slice(); notReallyCopiedBuf[0]++; console.log(notReallyCopiedBuf.toString()); // Prints: cuffer console.log(buf.toString()); // Also prints: cuffer (!)
相关用法
- Node.js Buffer buf.swap32()用法及代码示例
- Node.js Buffer buf.swap64()用法及代码示例
- Node.js Buffer buf.swap16()用法及代码示例
- Node.js Buffer buf.subarray([start[, end]])用法及代码示例
- Node.js Buffer buf.writeBigUInt64BE(value[, offset])用法及代码示例
- Node.js Buffer buf.toString([encoding[, start[, end]]])用法及代码示例
- Node.js Buffer buf.writeDoubleLE(value[, offset])用法及代码示例
- Node.js Buffer buf.writeBigInt64LE(value[, offset])用法及代码示例
- Node.js Buffer buf.keys()用法及代码示例
- Node.js Buffer buf.writeFloatLE(value[, offset])用法及代码示例
- Node.js Buffer buf.indexOf(value[, byteOffset][, encoding])用法及代码示例
- Node.js Buffer buf.readFloatLE([offset])用法及代码示例
- Node.js Buffer buf.readInt32LE([offset])用法及代码示例
- Node.js Buffer buf.writeInt8(value[, offset])用法及代码示例
- Node.js Buffer buf.writeInt32LE(value[, offset])用法及代码示例
- Node.js Buffer buf.writeIntLE(value, offset, byteLength)用法及代码示例
- Node.js Buffer buf.values()用法及代码示例
- Node.js Buffer buf.writeDoubleBE(value[, offset])用法及代码示例
- Node.js Buffer buf.length用法及代码示例
- Node.js Buffer buf.byteOffset用法及代码示例
- Node.js Buffer buf.readUInt32BE([offset])用法及代码示例
- Node.js Buffer buf.readDoubleLE([offset])用法及代码示例
- Node.js Buffer buf.writeFloatBE(value[, offset])用法及代码示例
- Node.js Buffer buf.readBigUInt64LE([offset])用法及代码示例
- Node.js Buffer buf.readUInt16BE([offset])用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 buf.slice([start[, end]])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。