主页 > 知识库 > PowerShell把IP地址转换成二进制的方法

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

热门标签:腾讯地图标注中心怎么标注 如何根据经纬度百度地图标注 万全县地图标注app 新郑电销机器人一个月多少钱 印台区呼叫中心外呼系统 电话机器人公司招聘 地图标注的图案 六寸地图标注点怎么删除 莫拉克电梯系统外呼怎么设置

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把IP地址转换成二进制的方法》,本文关键词  PowerShell,把,地址,转,换成,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《PowerShell把IP地址转换成二进制的方法》相关的同类信息!
  • 本页收集关于PowerShell把IP地址转换成二进制的方法的相关信息资讯供网民参考!
  • 推荐文章