摘要:模塊轉換為編碼模塊內部使用類庫以將域名從地方語言所采用的各種編碼轉換為可用于服務器的編碼因為操作系統的核心都是英文服務器的解析也是由英文代碼交換所以服務器并不支持直接的使用地方語言的域名解析所有地方語言域名的解析都需要轉成編碼然后由服務器解
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])); // uD834uDF06 console.log(punycode.ucs2.decode("abc")); // [ 97, 98, 99 ] console.log(punycode.ucs2.decode("uD834uDF06")); // [ 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常量,常量值為操作系統中使用的換行符
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); //
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92994.html
摘要:一旦替換已經完成,該模塊將被完全棄用。用作錯誤處理事件文件,由在標準功能上的簡單包裝器提供所有模塊都提供這些對象。 Node.js簡介 Node 定義 Node.js是一個建立在Chrome v8 引擎上的javascript運行時環境 Node 特點 異步事件驅動 showImg(https://segmentfault.com/img/bVMLD1?w=600&h=237); no...
摘要:畢竟官方文檔才是未經提煉的純技術點,讀書不能只讀二手書。目前網上能找到的中文文檔基本都是基于的,但截至此文發布,最新的穩定版都已經是了。翻譯過程中主要參考官方英文文檔,以及極客學院的官方文檔中文翻譯。 前言 相信很多開發者和我一樣,在學習一門技術的時候,通過網上的各種教程和視頻入門之后會發現自己遇到一個上升瓶頸。造成這個瓶頸的很大一部分原因,我認為是進階教程的知識點過于分散,同時高質量...
摘要:使用模塊逐行讀取流數據創建對象在模塊中,通過對象的使用來實現逐行讀取流數據的處理。屬性值為一個可用來寫入流數據的對象,用于指定數據的輸出目標。屬性值為一個函數,用于指定補全處理。 1. 使用readline模塊逐行讀取流數據 1.1. 創建Interface對象 在readline模塊中,通過Interface對象的使用來實現逐行讀取流數據的處理。因此首先要創建Interface對象,...
閱讀 3976·2021-11-18 13:22
閱讀 1813·2021-11-17 09:33
閱讀 2877·2021-09-26 09:46
閱讀 1208·2021-08-21 14:11
閱讀 2884·2019-08-30 15:53
閱讀 2707·2019-08-30 15:52
閱讀 1885·2019-08-30 10:52
閱讀 1517·2019-08-29 15:30