站长资讯网
最全最丰富的资讯网站

浅析Node.js中的Buffer,聊聊事件循环

本篇文章带大家了解一下Node中的Buffer,并聊聊浏览器的事件循环,希望对大家有所帮助!

浅析Node.js中的Buffer,聊聊事件循环

Buffer 的使用


数据的二进制

  • 计算机中所有的内容:文字、数字、图片、音频、视频最终都会使用二进制来表示

  • JS可以直接去处理非常直观的数据:比如字符串,我们通常展示给用户的也是这些内容

  • 但你可能会以为JS也能够处理图片

    • 事实上在网页端,图片一直是交给浏览器来处理的
    • JS或者HTML,只是负责告诉浏览器图片的地址
    • 浏览器负责发送请求获取这个图片,并且最终将这个图片给渲染出来
  • 但是对于服务端来说是不一样的

    • 服务端要处理的本地文件类型相对较多
    • 比如某一个保存文本的文件并不是使用utf-8进行编码的,而是用GBK,那么我们必须读取到他们的二进制数据,再通过GKB转换成对应的文字
    • 比如我们需要读取的是一张图片数据(二进制),再通过某些手段对图片数据进行二次的处理(裁剪、格式转换、旋转、添加滤镜),Node中有一个名为sharp的库,就是负责读取图片或者传入图片的Buffer对其再进行处理的
    • 比如在Node中通过TCP建立长连接,TCP传输的是字节流,我们需要将数据转成字节再进行传入,并且需要知道传输字节的大小(客户端需要根据大小来判断读取多少内容)

Buffer和二进制

  • 我们会发现,对于前端开发来说,通常很少会和二进制打交道,但是对于服务器端来说,为了实现很多功能,我们必须直接去操作其二进制的数据

  • 所以Node为了可以方便开发者完成

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号