• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell把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

    您可能感兴趣的文章:
    • java实现ip地址与十进制数相互转换
    • PHP中将ip地址转成十进制数的两种实用方法
    • 纯真IP数据库的应用 IP地址转化成十进制
    • 分享一个可以生成各种进制格式IP的小工具实例代码
    上一篇:PowerShell获取Windows用户列表、用户信息的方法
    下一篇:PowerShell中常用的一些特殊运算符介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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