静态方法:Buffer.byteLength(string[, encoding])
【Static method: Buffer.byteLength(string[, encoding])】
string<string> | <Buffer> | <TypedArray> | <DataView> | <ArrayBuffer> | <SharedArrayBuffer> 一个用于计算长度的值。encoding<string> 如果string是一个字符串,则这是它的编码。 默认值:'utf8'。- 返回:<integer>
string中包含的字节数。
返回使用 encoding 编码时字符串的字节长度。这与 String.prototype.length 不同,后者未考虑用于将字符串转换为字节的编码方式。
【Returns the byte length of a string when encoded using encoding.
This is not the same as String.prototype.length, which does not account
for the encoding that is used to convert the string into bytes.】
对于 'base64'、'base64url' 和 'hex',此函数假设输入有效。对于包含非 base64/hex 编码数据(例如空格)的字符串,返回值可能大于从该字符串创建的 Buffer 的长度。
【For 'base64', 'base64url', and 'hex', this function assumes valid input.
For strings that contain non-base64/hex-encoded data (e.g. whitespace), the
return value might be greater than the length of a Buffer created from the
string.】
import { Buffer } from 'node:buffer';
const str = '\u00bd + \u00bc = \u00be';
console.log(`${str}: ${str.length} characters, ` +
`${Buffer.byteLength(str, 'utf8')} bytes`);
// Prints: ½ + ¼ = ¾: 9 characters, 12 bytesconst { Buffer } = require('node:buffer');
const str = '\u00bd + \u00bc = \u00be';
console.log(`${str}: ${str.length} characters, ` +
`${Buffer.byteLength(str, 'utf8')} bytes`);
// Prints: ½ + ¼ = ¾: 9 characters, 12 bytes当 string 是 Buffer/DataView/TypedArray/ArrayBuffer/SharedArrayBuffer 时,返回的是 .byteLength 报告的字节长度。
【When string is a Buffer/DataView/TypedArray/ArrayBuffer/
SharedArrayBuffer, the byte length as reported by .byteLength
is returned.】