输入 HEX 作为字符串

Input HEX as a string

如何将十六进制数的字符串视为十六进制数?例如,我正在加载十六进制数字文件,但 Python 正在将文件作为字符串加载。是否可以让 Powershell 将文件中的十六进制数视为十六进制数?

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

首先尝试将以 16 为底数的变量作为第二个参数转换为 int

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

然后只需将结果加 1 并使用

hex(hex_int)

将结果返回为十六进制格式

这样解决了:

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

只需使用 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