博客
关于我
nodejs 的 Buffer 详解
阅读量:792 次
发布时间:2023-02-16

本文共 1747 字,大约阅读时间需要 5 分钟。

Node.js中的Buffer基础解析

一、Buffer的创建

Buffer在Node.js中是处理二进制数据的核心对象,常用于文件操作、网络通信等场景。以下是创建Buffer的几种常见方法:

const buf1 = Buffer.from([0x48, 0x65, 0x6c, 0x6c, 0x6f]);

创建一个包含字节数组"Hello"的Buffer对象:

const buf2 = Buffer.from('Hello', 'utf8');

创建一个初始值为0的Buffer,长度为10:

const buf3 = Buffer.alloc(10);

将一个Buffer复制到另一个Buffer中:

const buf4 = Buffer.from('World');
const buf5 = Buffer.alloc(5);
buf4.copy(buf5);

查看复制后的结果:

console.log(buf5.toString());

二、Buffer的操作

Buffer支持读写、切片和拼接等操作:

const buf = Buffer.alloc(26);
for (let i = 0; i < 26; i++) {
buf[i] = i + 97;
console.log(buf.toString('ascii'));

输出结果为:abcdefghijklmnopqrstuvwxyz

三、编码转换

const utf8Buffer = Buffer.from('你好', 'utf8');
const base64String = utf8Buffer.toString('base64');
console.log(base64String);

将base64字符串转换回UTF-8编码:

const backToUtf8 = Buffer.from(base64String, 'base64').toString('utf8');
console.log(backToUtf8);

输出结果为:你好

四、错误处理

try {
const smallBuf = Buffer.alloc(5);
smallBuf.write('This is too long!', 'utf8');
console.log(smallBuf.toString());
} catch (err) {
console.error('写入失败:', err.message);
} catch (err) {
console.error('写入失败:', err.message);
} catch (err) {
console.error('写入失败:', err.message);
}

错误处理是确保在Buffer操作过程中不会超出边界的重要措施。

以上示例涵盖了Buffer的基本用法,包括创建、读写、操作和编码转换。Buffer是Node.js开发中处理二进制数据的核心工具,熟练掌握它对日常开发工作至关重要。

转载地址:http://ktjfk.baihongyu.com/

你可能感兴趣的文章
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 模型中的偏差和公平性检测
查看>>
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP三大特征抽取器:CNN、RNN与Transformer全面解析
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP度量指标BELU真的完美么?
查看>>
NLP的不同研究领域和最新发展的概述
查看>>
NLP的神经网络训练的新模式
查看>>
NLP采用Bert进行简单文本情感分类
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
查看>>
NLP:从头开始的文本矢量化方法
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>
nmap 使用方法详细介绍
查看>>
nmap使用
查看>>
Nmap扫描教程之Nmap基础知识
查看>>