punycode
punycode
模塊轉換爲punycode
編碼punycode
模塊內部使用punycode.js
類庫,以將域名從地方語言所採用的各類編碼轉換爲可用於DNS
服務器的punycode
編碼,由於操做系統的核心都是英文,DNS
服務器的解析也是由英文代碼交換,因此DNS
服務器並不支持直接的使用地方語言的域名解析,全部地方語言域名的解析都須要轉成punycode
編碼,而後由DNS
服務器解析punycode
編碼.javascript
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 ]
os
模塊使用os
模塊獲取操做系統信息java
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