输入HEX作为字符串

时间:2019-12-17 10:42:49

标签: powershell hex

如何将十六进制数的字符串视为十六进制数?例如,我正在加载一个十六进制数的文件,但是Python正在以字符串形式加载该文件。能否使Powershell将文件中的十六进制数视为十六进制数?

背景:我要求用户提供Mac地址,我需要在最后一块添加x个数字,以获取下一个x Mac地址。我可以在“:”上分割并获取最后一个块,但这是一个包含例如“ 13”的字符串,该字符串不是十进制的13而是十六进制的13。

3 个答案:

答案 0 :(得分:1)

尝试通过首先将基数为16的变量强制转换为int

interface

然后将结果加1并使用

hex_str = "0xAD4"
hex_int = int(hex_str, 16)

将结果恢复为十六进制格式

答案 1 :(得分:0)

通过这样解决它:

$MacNr = ([int64]"0x$($MacAddress.Split(":")[5])")
$MacNr ++1
$NewMac = ('{0:X2}' -f $MacNr)

答案 2 :(得分:0)

使用PhysicalAddress.Parse(String) Method,只需一次输入整个MAC地址:

$MAC = 'F0:E1:D2:C3:B4:A5' -Replace '[^0-9a-fA-F]' # remove all the non-Hex characters
[System.Net.NetworkInformation.PhysicalAddress]::Parse($MAC).GetAddressBytes()
240
225
210
195
180
165