1. punycode
-
punycode
模块转换为punycode
编码
punycode
模块内部运用punycode.js
类库,以将域名从处所言语所采纳的种种编码转换为可用于DNS
服务器的punycode
编码,由于操作体系的中心都是英文,DNS
服务器的剖析也是由英文代码交流,所以DNS
服务器并不支撑直接的运用处所言语的域名剖析,一切处所言语域名的剖析都须要转成punycode
编码,然后由DNS
服务器剖析punycode
编码.
-
encode(string)
,将一个Unicode
编码字符串转换为一个punycode
编码字符串 -
decode(string)
,将一个punycode
编码字符串转成一个Unicode
编码字符串 -
toASCII(domain)
,用于将一个Unicode
编码花样的域名转换为一个punycode
编码花样的域名,该要领只能转换处所言语域名,不转换英文域名 -
toUnicode(domain)
,用于将一个punycode
编码花样的域名转换为Unicode
编码花样的域名,该要领只能转换处所言语域名,不转换英文域名 -
ucs2.encode(codePoints)
,用于将一个UCS-2
编码数组转换成一个字符串 -
ucs2.decode(string)
,用于将一个字符串转换为一个UCS-2
编码数组 -
punycode.version
,显现punycode.js
类库的版本号
const punycode = require('punycode');
console.log(punycode.encode('你好'));// 6qq79v
console.log(punycode.decode('6qq79v'));// 你好
console.log(punycode.toASCII('www.你好.com'));// www.xn--6qq79v.com
console.log(punycode.toUnicode('www.xn--6qq79v.com'));// www.你好.com
console.log(punycode.ucs2.encode([97, 98, 99])); // abc
console.log(punycode.ucs2.encode([0x1D306])); // \uD834\uDF06
console.log(punycode.ucs2.decode('abc')); // [ 97, 98, 99 ]
console.log(punycode.ucs2.decode('\uD834\uDF06')); // [ 119558 ]
2. os
模块
运用os
模块猎取操作体系信息
-
os.tmpdir()
,猎取操作体系中默许的用于寄存临时文件的目次 -
os.endianness()
,猎取CPU
的字节序,返回的值多是BE
及LE
-
os.hostname()
,猎取盘算机名 -
os.type()
,猎取操作体系范例 -
os.platform()
,猎取操作体系平台 -
os.arch()
,猎取CPU
架构 -
os.release()
,猎取操作体系版本号 -
os.uptime()
,猎取体系当前的运转时候,单元为秒 -
os.loadavg()
,返回一个数组,个中寄存了1
分钟,5
分钟,15
分钟的体系均匀负载 -
os.totalmem()
,返回体系的总内存量,单元为字节 -
os.freemem()
,返回体系的余暇内存量 -
os.cpus()
,返回一个数组,寄存了CPU
内核的种种信息,包含CPU
规格,运转速率(单元是MHz
)及运转时候信息 -
os.networkInterfaces()
,返回一个数组,寄存了体系中一切收集接口 -
os.EOL
,定义一个EOL
常量,常量值为操作体系中运用的换行符\r\n
const os = require('os');
console.log(os.tmpdir()); // /tmp
console.log(os.endianness()); // LE
console.log(os.hostname()); // Homer
console.log(os.type()); // Linux
console.log(os.platform()); // linux
console.log(os.arch()); // x64
console.log(os.release()); // 3.10.0-693.17.1.el7.x86_64
console.log(os.uptime()); // 108
console.log(os.loadavg()); // [ 2.48583984375, 1.01318359375, 0.3740234375 ]
console.log(os.totalmem()); // 1910771712
console.log(os.freemem()); // 76935168
console.log(os.cpus());
/**
* [ { model: 'Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz',
* speed: 2401,
* times: { user: 194900, nice: 21800, sys: 210000, idle: 477900, irq: 0 } },
* { model: 'Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz',
* speed: 2401,
* times: { user: 157300, nice: 19400, sys: 205400, idle: 543800, irq: 0 } },
* { model: 'Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz',
* speed: 2401,
* times: { user: 149700, nice: 4200, sys: 212600, idle: 548500, irq: 0 } },
* { model: 'Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz',
* speed: 2401,
* times: { user: 156200, nice: 2600, sys: 213100, idle: 501300, irq: 0 } } ]
* **/
console.log(os.networkInterfaces());
/**
* { lo:
* [ { address: '127.0.0.1',
* netmask: '255.0.0.0',
* family: 'IPv4',
* mac: '00:00:00:00:00:00',
* internal: true },
* { address: '::1',
* netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
* family: 'IPv6',
* mac: '00:00:00:00:00:00',
* scopeid: 0,
* internal: true } ],
* ens33:
* [ { address: '192.168.71.147',
* netmask: '255.255.255.0',
* family: 'IPv4',
* mac: '00:0c:29:e3:04:c1',
* internal: false },
* { address: 'fe80::20c:29ff:fee3:4c1',
* netmask: 'ffff:ffff:ffff:ffff::',
* family: 'IPv6',
* mac: '00:0c:29:e3:04:c1',
* scopeid: 2,
* internal: false } ] }
***/
console.log(os.EOL); // \r\n