编码的发展
一个字节由8个位组成,gbk中一个汉字2个字节,utf8中一个汉字3个字节
- ASCII编码
- GB2312
- GBK
- GB18030
- Unicode
- UTF-8
Node中不支持GBK编码,我们需要将GBK转为UTF8编码
var iconv = require('iconv-lite');
function readGBKText(pathname) {
var bin = fs.readFileSync(pathname);
return iconv.decode(bin, 'gbk');
}
进制转化
//把任意进制转成十进制
console.log(parseInt('20',10));//20
console.log(parseInt('11',2));//3
console.log(parseInt('20',16));//32
//把十进制转成任意进制
console.log((3).toString(2));//11
console.log(3..toString(2));//11
console.log((77).toString(8));//115
console.log((77).toString(16));//4d
console.log((17).toString(8));//21
Buffer的应用
定义buffer的三种方式
let buf1 = Buffer.alloc(6);
let buf2 = Buffer.from('珠峰');
let buf3 = Buffer.from([65,66,67]);
buffer中常用的方法
- buff.toString()
- buff.fill()
- buff.slice()
- buff.copy
- Buffer.concat()
- Buffer.isBuffer()
- indexOf
copy方法的实现
Buffer