输入 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
如何将十六进制数的字符串视为十六进制数?例如,我正在加载十六进制数字文件,但 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