buf.toString([encoding[, start[, end]]])
-
encoding<string> 要使用的字符编码。默认值:'utf8'。¥
encoding<string> The character encoding to use. Default:'utf8'. -
start<integer> 开始解码的字节偏移量。默认值:0。¥
start<integer> The byte offset to start decoding at. Default:0. -
end<integer> 停止解码的字节偏移量(不包括在内)。默认值:buf.length。¥
end<integer> The byte offset to stop decoding at (not inclusive). Default:buf.length. -
返回:<string>
¥Returns: <string>
根据 encoding 中指定的字符编码将 buf 解码为字符串。start 和 end 可以传入仅解码 buf 的子集。
¥Decodes buf to a string according to the specified character encoding in
encoding. start and end may be passed to decode only a subset of buf.
如果 encoding 是 'utf8' 并且输入中的字节序列不是有效的 UTF-8,则每个无效字节都将替换为替换字符 U+FFFD。
¥If encoding is 'utf8' and a byte sequence in the input is not valid UTF-8,
then each invalid byte is replaced with the replacement character U+FFFD.
字符串实例(以 UTF-16 代码单元表示)的最大长度可用作 buffer.constants.MAX_STRING_LENGTH。
¥The maximum length of a string instance (in UTF-16 code units) is available
as buffer.constants.MAX_STRING_LENGTH.
import { Buffer } from 'node:buffer';
const buf1 = Buffer.allocUnsafe(26);
for (let i = 0; i < 26; i++) {
// 97 is the decimal ASCII value for 'a'.
buf1[i] = i + 97;
}
console.log(buf1.toString('utf8'));
// Prints: abcdefghijklmnopqrstuvwxyz
console.log(buf1.toString('utf8', 0, 5));
// Prints: abcde
const buf2 = Buffer.from('tést');
console.log(buf2.toString('hex'));
// Prints: 74c3a97374
console.log(buf2.toString('utf8', 0, 3));
// Prints: té
console.log(buf2.toString(undefined, 0, 3));
// Prints: téconst { Buffer } = require('node:buffer');
const buf1 = Buffer.allocUnsafe(26);
for (let i = 0; i < 26; i++) {
// 97 is the decimal ASCII value for 'a'.
buf1[i] = i + 97;
}
console.log(buf1.toString('utf8'));
// Prints: abcdefghijklmnopqrstuvwxyz
console.log(buf1.toString('utf8', 0, 5));
// Prints: abcde
const buf2 = Buffer.from('tést');
console.log(buf2.toString('hex'));
// Prints: 74c3a97374
console.log(buf2.toString('utf8', 0, 3));
// Prints: té
console.log(buf2.toString(undefined, 0, 3));
// Prints: té