------------------------------第十篇:Node js
Node js 是一个基于Chrome V8引擎的Javascript运行的环境 是一个应用程序
中文网址:Node.js 中文网
作用:解析运行js代码 操作系统资源 内存 硬盘 网络请求 服务器
安装请参考 自学前端日记_曾几何时何必当的博客-CSDN博客
客户端与服务器介绍
客户端:用户下载使用的软件
服务器:为处理用户的一些操作做出的一响应
Node js 应用场景:
App接口服务
网页聊天室
动态网站、个人博客、论坛、商城...
后端的web服务 例如服务器的请求(爬虫)、代理请求(跨域)
前端项目打包(webpack、gulp) 高效极致 优化代码
【Buffer篇】
类似于数组的对象 保存二进制数据的
大小固定 创建的时候就确定了 无法调整
const buf_01 = Buffer.alloc(10) 意思就是创建一个10个字节的buffer
性能较好 直接对计算机的内存进行操作
每个元素大小为1个字节 8bit 1byte = 8bit 8个二进制位
语法
1.创建特定大小的buffer
const buf_01 = Buffer.alloc(number) 或者 const buf_02 = Buffer.allocUnsafe(10);(有内容)
2.通过字符串来创建一个buffer
①字母 形式的字符串 const buf_03 = Buffer.from('xiaozhang')
"<Buffer 78 69 61 6f 7a 68 61 6e 67>" 一个字母一个字节 这里用的是16进制的
②汉字形式的buffer const buf_04 = Buffer.from("小张")
"<Buffer e5 b0 8f e5 bc a0>" 一个字母三个字节
咱们平时创建的文档就是二进制存储方式
buf_03[index] 查询某一个字节 输出的是对应的字符 编码。
String.fromCharCode(字符编码) 通过Unicode 字符编码 查找对应的字符 就是最终的字符串
反推 可以通过字符查找对应的字符编码 ‘str’.charCodeAt(); 这里汉字比较特殊不能直接使用这种方法
Buffer对象 转 字符串 buf_03.toString();
设置 用过索引修改 buf_03[index] = number; number这里用的是10进制的
console.log(buf_03) 输出的是16进制的 "<Buffer 78 69 61 6f 7a 68 61 6e 67>" 只能看 不能操作
console.log(buf_03[index]) 输出的也是10进制的
关于字节的溢出 一个字节 由8个二进制位组成的 所以最多出现 2^8 中情况 也就是256种情况
0-255 所以想要表达更多的情况必须要舍弃高于8位的内容
比如 300 转为二进制 为 0001 0010 1100 舍弃高于8位的内容 为 00101100 对应的十进制为44 在字符集上 编码44 就是一个逗号