Nodejs目前还没有原生支持从string到byte[]的转换,需要自己写。可以给String对象加一个原型函数,如下示例:
String.prototype.toBytes = function(encoding){
var bytes = [];
var buff = new Buffer(this, encoding);
for(var i= 0; i< buff.length; i++){
var byteint = buff[i];
bytes.push(byteint);
return bytes;
var test = function(str, encoding){
var bytes = str.toBytes(encoding);
console.log(bytes);
//校验正确性
console.log(Buffer.from(bytes).toString(encoding));
console.log('\n');
test("08:9E:01:BF:AC:64","utf8");
test("","utf8");
test("abc中文","utf8")
[ 48, 56, 58, 57, 69, 58, 48, 49, 58, 66, 70, 58, 65, 67, 58, 54, 52 ]
08:9E:01:BF:AC:64
[ 97, 98, 99, 228, 184, 173, 230, 150, 135 ]
abc中文
相关文章:
《Nodejs: Buffer报错argument must be an Array of Buffer or Uint8Array instances》
nodejs 保留了 js 中的ArrayBuffer Uint8Array
nodejs 新增了 一个更加方便的 Buffer 对象 ,相当于ArrayBuffer 和 Uint8A.
在 Node.js 中,可以使用 Buffer 类的 from 方法将字符串转换为 Buffer 对象。例如:
const str = 'Hello World';
const buf = Buffer.from(str);
console.log(buf); // <Buffer 48 65 6c 6c 6f 20 57 6f 72 6c 64>
require()可以传递一个文件的路径为参数,node将自动根据路径来引入外部模块
路径,必须使用相对路径,必须以.或…开头
使用require()引入模块之后,该函数返回一个对象,这个对象代表的是引入的模块
核心模块的标识就是,模块的名字
var pgarray = require('pg-array');
pgarray('node; ruby; rust', ';');
//=> '{node,ruby,rust}'
var pgarray = require('pg-array');
pgarray(['node', 'ruby', 'rust']);
//=> '{node,ruby,rust}'
Node.js 提供了多种读取文件的 API
fs.readFile
fs.readFile(path[, options], callback) 是最常用的读取文件方法,用于异步读取文件的全部内容
const fs = require(‘fs’);
fs.readFile(’./test.txt’, (err, data) => {
if (err) throw err;
console.log(data);
回调会传入两个参数 (err, data),其中 data 是文件的内容,如果 o
const arr = ['arr1', 'arr2', 'arr3', 'arr4'];
const str = arr.toString();
console.log('str', str);
字符串转数组:
const str = 'str1,str2,str3,str4';
const arr = str.split(',');
console.log('arr', arr);