手机
当前位置:查字典教程网 >脚本专栏 >PowerShell >PowerShell把IP地址转换成二进制的方法
PowerShell把IP地址转换成二进制的方法
摘要:IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位。8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在...

IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位。8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间。有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001。今天小编看到一个例子就是来完成这个操作的。

代码如下:

复制代码 代码如下:

$ipV4 = '192.168.12.33'

-join ($ipV4.Split('.') | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,'0')})

#-join是把多个结果对象或数组元素组合在一起输出。

结果将显示为:

复制代码 代码如下:11000000101010000000110000100001

我们也可以修改一下程序,分别显示出每一段的转换后的形式:

复制代码 代码如下:$ipV4.Split('.') | ForEach-Object {

'{0,5} : {1}' -f $_, [System.Convert]::ToString($_,2).PadLeft(8,'0')

}

结果将显示如下:

复制代码 代码如下:192 : 11000000

168 : 10101000

12 : 00001100

33 : 00100001

最后补充说明一下这一句“[System.Convert]::ToString($_,2)”的理解。首先$_表示当前循环变量,把一个点分十进制的IP使用Split方法打散后,每个循环变量就是各个数字了,即192、168、12、33。而“[System.Convert]::ToString($_,2)”的意思是把这些数字转换为二进制的字符串。关于[System.Convert]::ToString的详细理解,可以参数下面几个例子:

复制代码 代码如下:#二进制

PS C:Users小编> [System.Convert]::ToString(16,2);

10000

#八进制

PS C:Users小编> [System.Convert]::ToString(16,8);

20

#十进制

PS C:Users小编> [System.Convert]::ToString(16,10);

16

#十六进制

PS C:Users小编> [System.Convert]::ToString(16,16);

10

【PowerShell把IP地址转换成二进制的方法】相关文章:

PowerShell脚本源码输出到文件的最佳写法

探索PowerShell(十四) 使用WMI对象的方法

PowerShell函数参数设置成自动识别数据类型的例子

PowerShell判断某天是星期几的方法

PowerShell中使用Out-String命令把对象转换成字符串输出的例子

PowerShell批量安装msi后辍软件的方法

PowerShell中执行Javascript的方法示例

Powershell获取环境变量的方法

PowerShell Out-File追加字符串到文件末尾的方法

PowerShell读取文本文件指定行内容的方法

精品推荐
分类导航