Node的npm和buffer

本文介绍了Node.js的NPM(Node Package Manager),包括NPM的作用、常见命令及其用法,如查看版本、安装模块等。同时,文章详细阐述了Buffer缓冲区的概念,它是用于存储二进制数据的,提供了类似数组的操作,并讨论了Buffer的创建、大小和与字符串之间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NPM(Node Package Manager)

  • CommonJS包规范是理论,NPM是其中一种实践
  • 对于Node而言,NPM帮助其完成了第三方模块的发布、安装、和依赖等。借助NPM,Node与第三方模块之间形成了很好的一个生态系统。
NPM命令
  • npm -v

    查看npm版本

  • npm version

    查看所有模块的版本

  • npm

    帮助说明

  • npm search 包名

    搜索模块包

  • npm install

    下载当前项目所依赖的包

  • npm install 包名

    在当前目录安装模块包

  • npm install 包名 -g

    全局模式安装包(一般都是工具)

  • npm install 包名 --save

    安装包并添加到依赖中(常用)

  • npm init

    初始化目录 (创建json)

  • npm remove 包名

    输出一个模块

  • npm install 文件路径

    从本地安装

  • npm install 包名 -registry=地址

    从镜像源安装

  • npm config set registry 地址

    设置镜像源

Buffer(缓冲区)

  • Buffer的结构和数组很像,操作的方法也和数组类似

  • 数组中不能存储二进制的文件,而buffer就是专门用来存储二进制数据

  • 使用buffer不需要引入模块,直接使用即可

  • 在buffer中存储的都是二进制数据,但是显示是以16进制显示的,buffer中每一个元素的范围是从00 到 ff,十进制是0 - 255,二进制是00000000 - 11111111。

    计算机 一个0 或一个1 为1位(bit)

    8bit = 1byte(字节)

    1024byte = 1kb

    1024kb = 1mb

    1024mb = 1gb

    buffer 中的一个元素,占用内存的一个字节。

    var str = "hello";
    
    //将一个字符串保存到buffer中
    var buf = Buffer.from(str);
    
    console.log(buf); //<Buffer 68 65 6c 6c 6f>
    

    buf.length 是占用内存的大小。 str.length 是字符串的长度

创建个指定大小的buffer.(buffer所有构造函数都是不推荐使用的)

//var buf2 = new Buffer(10);

var buf2 = Buffer.alloc(10)
console.log(buf2.length);
//通过索引来操作buf中的元素
buf2[0] = 88;  //输入十进制 输出十六进制
buf2[1] = 255;
buf2[2] = 0xaa;
console.log(buf2);//<Buffer 58 ff aa 00 00 00 00 00 00 00>
console.log(buf2[2]);//只要数字在控制台或页面中输出一定是10进制
console.log(buf2[2].toString(16));//转16进制

var buf4 = Buffer.from("我是字符串");
console.log(buf4.toString());//将缓冲区数据转换为字符串

Buffer的大小一旦确定,咋不能修改,Buffer实际上是对底层内存的直接操作

Buffer.from(str) 将一个字符串转换为buffer

Buffer.alloc(size) 创建一个指定大小的Buffer

Buffer.allocUnsafe(size) 创建一个指定大小的Buffer,但是可能包含敏感数据

剩下方法详见:http://nodejs.cn/api/buffer.html。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值