PowerShell把IP地址转换成二进制的方法

 更新时间:2014年08月11日 09:15:07   投稿:junjie  
这篇文章主要介绍了PowerShell把IP地址转换成二进制的方法,在一些IP判断的场合经常使用的小技巧,需要的朋友可以参考下

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: Try...Catch...Finally 实现方法

    PowerShell: Try...Catch...Finally 实现方法

    PowerShell 本身有很多很好的错误控制,但是习惯于.net编程的人员,更喜欢用Try Catch Finally方法,尤其当有一段代码必须被执行到的时候。现在好了,adweigert 想出了一个好方法来实现。这个函数已经在多种情况下测试过,希望能对你有帮助
    2013-11-11
  • Windows PowerShell是啥?看完本文你就懂它了

    Windows PowerShell是啥?看完本文你就懂它了

    这篇文章主要介绍了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看完本文你就懂它了,需要的朋友可以参考下
    2015-04-04
  • 用PowerShell代替批处理吧!

    用PowerShell代替批处理吧!

    这篇文章主要介绍了用PowerShell代替批处理吧!本文讲解了批处理文件的历史、Windows NT 和 Cmd.exe、Windows Script 主机、进入 Windows PowerShell、为什么是时候停止写批处理了等内容,需要的朋友可以参考下
    2015-03-03
  • PowerShell中删除空格、点号、减号和换行方法代码实例

    PowerShell中删除空格、点号、减号和换行方法代码实例

    这篇文章主要介绍了PowerShell中删除空格、点号、减号和换行方法代码实例,本文直接给出实例代码,需要的朋友可以参考下
    2015-05-05
  • 探索PowerShell(九) 条件控制、逻辑

    探索PowerShell(九) 条件控制、逻辑

    PowerShell作为一个动态脚本语言,同样具有条件判断、逻辑控制的能力。诸如if、elseif、else以及switch都是被PowerShell所支持的
    2012-12-12
  • PowerShell函数用Hash表传参实例

    PowerShell函数用Hash表传参实例

    这篇文章主要介绍了PowerShell函数用Hash表传参实例,即把Hash表作为PowerShell函数参数传入例子,需要的朋友可以参考下
    2014-07-07
  • PowerShell函数参数用星号隐藏的方法

    PowerShell函数参数用星号隐藏的方法

    这篇文章主要介绍了PowerShell函数参数用星号隐藏的方法,这是一个很实用的技巧,比如在一些需要输入密码的情况,需要的朋友可以参考下
    2014-07-07
  • PowerShell批量修改AD用户密码属性的代码

    PowerShell批量修改AD用户密码属性的代码

    这篇文章主要介绍了PowerShell批量修改AD用户密码属性的代码,需要的朋友可以参考下
    2015-07-07
  • PowerShell查找数组内容、搜索数组、查询数组的方法

    PowerShell查找数组内容、搜索数组、查询数组的方法

    这篇文章主要介绍了PowerShell查找数组内容、搜索数组、查询数组的方法,使用PowerShell中的一些操作符来实现搜索功能,需要的朋友可以参考下
    2014-08-08
  • Windows Powershell对象转换成文本

    Windows Powershell对象转换成文本

    怎样将Powershell的对象结果转换成文本并显示在控制台上。Powershell已经内置Out-Default命令追加在管道的命令串的末尾。因此你使用dir 和dir | out-default的结果是相同的。
    2014-09-09

最新评论