None.js 第五步 Buffer(缓冲区)


// 存数据,取数据;
buf = Buffer.alloc(26);
for (var i = 0; i < 26; i++) {
    buf[i] = i + 97;
}
  • console.log(buf.toString(‘ascii‘));
  • console.log(buf.toString(‘ascii‘,0,5));
  • console.log(buf.toString(‘utf8‘,0,5));
  • console.log(buf.toString(undefined, 0, 5));

输出

    abcdefghijklmnopqrstuvwxyz
    abcde
    abcde
    abcde
const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
const json = JSON.stringify(buf);

// 输出: {"type":"Buffer","data":[1,2,3,4,5]}
console.log(json);

const copy = JSON.parse(json, (key, value) => {
    // 话说我真的没有弄明白这里面的机制
    //  这个时候如果单独打印
    value && value.type === ‘Buffer‘
    // 返回的其实是一个 false 并不是我们理解的一个true
    // 这个时候输出的是正确的
    return value && value.type === ‘Buffer‘ ?
        Buffer.from(value.data) :
        value;

    // 这个时候输出的竟然是 lin
    return value && value.type === ‘Buffer‘ ?
        "lin" :   // lin
        value;

    // 这个时候输出的就是 m
    return value && value.type === ‘Buffer‘ ?
        "lin" :
        "m";   // m

    // 这个时候输出的也是 m
    return value && value.type === ‘Buffer‘ ?
        Buffer.from(value.data) :
        "m";   // m
});

// 输出: <Buffer 01 02 03 04 05>
console.log(copy);

原文地址:https://www.cnblogs.com/mcat/p/8438855.html

时间: 2024-10-09 07:03:33

None.js 第五步 Buffer(缓冲区)的相关文章

笔记:Node.js 的 Buffer 缓冲区

笔记:Node.js 的 Buffer 缓冲区 node.js 6.0 之前创建的 Buffer 对象使用 new Buffer() 构造函数来创建对象实例,但权限很大,可以获得敏感信息,所以建议使用 buffer.from() 接口创建 Buffer 对象. Buffer 实例要以通过显式字符编码与普通的字符串之间进行相互转换,支持 assii,utf8,utf16le,ucs2-utf16le,base64,latin1,binary-latin1,hex. 写稿缓冲区(buf.write)

还在使用pdf、word简历?简单五步实现github托管个人逼格简历

写在前面: 什么是git.github? git 版本控制工具 github 通过git工具做的版本控制的项目托管平台 项目开发肯定不止一个程序猿,多个程序猿针对同一个文件进行代码读写操作时,是先保存程序猿a还是程序猿b呢?这就很容易冲突,所以就有了git这种版本控制工具解决项目更新.慢慢的随着开源精神的发展以及在线的需求就有了github项目托管平台,对于git本地服务来说,github就是一个远程的仓库. 逼格在哪里? Github已经取代Sourceforge,成为最活跃的代码交流社区,一

HTML5+JS 《五子飞》游戏实现(五)移动棋子

上一章 我们知道了怎么处理两个重要的吃棋动作,想要吃对方的棋子,首先得移动自己的棋子.现在里沃特跟大家分享分享,怎么移动棋子. 想要移动棋子,在页面上,首先要点击一下要移动的棋子,然后再点击一下目标位置,如果可以移动,则把棋子移动的目标位置,原来的位置就要清空. 上面这句话,我们要分两步来处理:1.判断目标是否可移动:2.可以移动则移动棋子. 1.判断目标是否可移动. 首先移动时只能按直线,其次目标位置与原始位置之间不能有其他棋子: // 是否可移动 this.canMove = functio

HTML5离线Web应用实战:五步创建成功

[IT168 技术]HTML5近十年来发展得如火如荼,在HTML 5平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化.HTML功能越来越丰富,支持图片上传拖拽.支持localstorage.支持web sql database.支持文件存储api等等.它任重而道远,致力于将Web带入一个更为成熟的应用平台.在所有炫酷特性中,最让我喜欢的是它具有离线缓存Web应用的功能. 开发离线Web 应用程序:三大核心功能 在开发支持离线的 Web 应用程序时,开发者通常需要使用以下三个方面的功能:

mysql数据库优化五步走

MySQL数据库是一种小型关系型数据库管理系统,MySQL数据库的优化是MySQL数据库操作过程中非常重要的工作,MySQL数据库的优化能够实现MySQL数据库操作的简便. 第一步: 1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储. 2:硬盘的读写速度,这个速度非常的快,这个更容易解决--可以从多个硬盘上并行读写. 3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素.

“十步杀一人,千里不留行” React的五步夺命诗

React的特性和我们之前用到的技术完全不同.我们一直在和它战斗.其中的一个难点是找到优质的学习资源.网上有太多不同的文章和教程,其中一些内容已经没有学习价值.React文档是不错的,但是我们不想在它上面花太多时间,我们希望能有快速入手的资料. 以下是如何学习React的一个五步计划.每一步都尽可能向你指出免费的资源. 第一步:"大河之剑天上来" React文档+Code Sandbox 是的,你应该从阅读React文档开始学习.文档写得很好,读完它你将理解React的基本术语和概念.

变革家五步投资法学习体会

变革家(Reformer),专注创业项目分析,帮股权投资者把好第一关! 拆解学院,是变革家的一个王牌课程,通过每周微信语音和网站内容形式,大力提升股权投资者的投资水平. 作为一名变革家的顶级Fans,最近认真完整地听取了其中的第十七课,"'五步投资法'精益投资,让你从业余到专业!" 之前都是在网站上学习文字版的内容,这次是认真参加了"微信课堂",及时学习了下. 自我感觉,这一课,非常好,可以说是"变革家课程体系的核心",所有的项目拆借报告.股权众

在Spring3 MVC中五步配置集成注解方式Hibernate3

最近在搞一个WEB项目,以前在公司做项目用的都是JPA做ORM持久层,这次这个项目是我自己接的,我决定改一下,用Hibernate3来做ORM持久层.于是我网上搜索了Hibernate3怎么配置集成到Spring3 MVC上,发现千奇百怪,而且很多都是不是基于注解方式配置,显然那些文字上面的配置方式已经跟如今的Hibernate3注解支持方式脱节了,于是我决定自己搞一把,首先说一下网上那些配置方式的不好的地方,很多文章都提到要jdbc.properties文件与Hibernate config文

java入门第五步之数据库项目实战【转】

在真正进入代码编写前些进行一些工具的准备: 1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myeclipse 8.5 3.数据库连接的架包: 这里数据库的安装就不说了,如果你安装的sql server 2000的话,你在使用jdbc进行连接时还需要打上sp3补丁: 一切准备就绪后我们就开始进入正题了: 1.首先我们在file--->New---->Web Project(也可以再Package