PowerShell把IP地址轉(zhuǎn)換成二進制的方法
IPv4地址其實是32位二進制數(shù)字,然后我們將它分成四段,每段8位。8位二進制能表達的范圍是0~255,所以點分十進制的每一個數(shù)字的取值都在0~255之間。有的時候,比如為了換算子網(wǎng)掩碼,我們需要將IP地址還原成二進制串的形式,如:11000000101010000000110000100001。今天小編看到一個例子就是來完成這個操作的。
代碼如下:
$ipV4 = '192.168.12.33'
-join ($ipV4.Split('.') | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,'0')})
#-join是把多個結(jié)果對象或數(shù)組元素組合在一起輸出。
結(jié)果將顯示為:
我們也可以修改一下程序,分別顯示出每一段的轉(zhuǎn)換后的形式:
'{0,5} : {1}' -f $_, [System.Convert]::ToString($_,2).PadLeft(8,'0')
}
結(jié)果將顯示如下:
168 : 10101000
12 : 00001100
33 : 00100001
最后補充說明一下這一句“[System.Convert]::ToString($_,2)”的理解。首先$_表示當(dāng)前循環(huán)變量,把一個點分十進制的IP使用Split方法打散后,每個循環(huán)變量就是各個數(shù)字了,即192、168、12、33。而“[System.Convert]::ToString($_,2)”的意思是把這些數(shù)字轉(zhuǎn)換為二進制的字符串。關(guān)于[System.Convert]::ToString的詳細(xì)理解,可以參數(shù)下面幾個例子:
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
相關(guān)文章
PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧
這篇文章主要介紹了PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧,需要的朋友可以參考下2014-08-08PowerShell創(chuàng)建Byte數(shù)組例子
這篇文章主要介紹了PowerShell創(chuàng)建Byte數(shù)組例子,Byte數(shù)組即字節(jié)數(shù)組,它是一種強類型的數(shù)組,需要的朋友可以參考下2014-08-08Powershell小技巧之使用Copy-Item添加程序到開機啟動
本文主要記錄了本人安裝office2013后遇到的一個小需求,然后用powershell實現(xiàn)了這個功能,特此記錄下,并附上copy-item的使用方法2014-09-09Windows Powershell創(chuàng)建對象
.Net類型中的方法功能很強大??梢酝ㄟ^類型的構(gòu)造函數(shù)創(chuàng)建新的對象,也可以將已存在的對象轉(zhuǎn)換成指定的類型。2014-10-10PowerShell定義函數(shù)參數(shù)的2種方法和傳參方法實例
這篇文章主要介紹了PowerShell定義函數(shù)參數(shù)的2種方法和使用方法實例,簡潔易懂的好文,需要的朋友可以參考下2014-07-07PowerShell中使用Filter來創(chuàng)建管道輸入函數(shù)
這篇文章主要介紹了PowerShell中使用Filter來創(chuàng)建管道輸入函數(shù),Filter創(chuàng)建的函數(shù)跟Function創(chuàng)建的函數(shù),在本質(zhì)上是一樣的,需要的朋友可以參考下2014-07-07