String和Buffer

    xiaoxiao2022-07-04  108

    一、JS语言自身只有字符串数据类型,没有二进制数据类型,因此NodeJS提供了一个与String对等的全局构造函数Buffer来提供对二进制数据的操作
    // 可以将文件的内容读取到Buffer实例,或者是直接构造Buffer实例。 var hello = new Buffer([ 0x68, 0x65, 0x6c, 0x6c, 0x6f ]); // Buffer与字符串类似,除了可以用.length属性得到字节长度外,还可以用[index]方式读取指定位置的字节,例如: bin[0]; // => 0x68; // Buffer与字符串能够互相转化,例如可以使用指定编码将二进制数据转化为字符串: hello.toString('utf-8'); // hello // 将字符串转换为二进制数据 var bin = new Buffer('hello', 'utf-8'); // <Buffer 68 65 6c 6c 6f>

    // String和Buffer两者时间的区别 // String是只读的,并且对字符串的任何修改得到的都是一个新字符串,原字符串保持不变 // Buffer,可以做指针操作的C语言数组。例如,可以用[index]方式直接修改某个位置的字节 // 在Buffer中,想要实现Copy的功能需要以下步骤 // 1. 创建一个新的Buffer实例(一块内存区) 通过.copy方法把原Buffer中的数据复制过 // Buffer将JS的数据处理能力从字符串扩展到了任意二进制数据。
    最新回复(0)