博客
关于我
nodejs 的 Buffer 详解
阅读量:794 次
发布时间: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/

你可能感兴趣的文章
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>