摘要:模块转换为编码模块内部使用类库以将域名从地方语言所采用的各种编码转换为可用于服务器的编码因为操作系统的核心都是英文服务器的解析也是由英文代码交换所以服务器并不支持直接的使用地方语言的域名解析所有地方语言域名的解析都需要转成编码然后由服务器解
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); //
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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对象,...
阅读 3816·2021-11-18 13:22
阅读 1746·2021-11-17 09:33
阅读 2854·2021-09-26 09:46
阅读 1139·2021-08-21 14:11
阅读 2839·2019-08-30 15:53
阅读 2642·2019-08-30 15:52
阅读 1835·2019-08-30 10:52
阅读 1491·2019-08-29 15:30