如何将十六进制编码的字符串转换为十六进制整数

柯南1989

因此,基本上我想要实现的是从文本文件中获取MAC地址并将其值加1。

在Google / StackOverflow墙上猛烈抨击了几个小时,以为有一个我没想到的概念。

电源外壳:

$Last_MAC_Address = (Get-Content -LiteralPath "\\UNC\Path\Last MAC Address.txt")

Write-Host ($Last_MAC_Address)
# Output: 00155DE10B73

$Next_MAC_Address = (($Last_MAC_Address | Format-Hex) + 1)
安斯加·威彻斯(Ansgar Wiechers)

另一个选择是在值前加上前缀0x并将其转换为int64

$Next_MAC_Address = ([int64]"0x$Last_MAC_Address"+1).ToString('X12')

您也可以使用格式运算符-f)代替ToString()方法:

$Next_MAC_Address = '{0:X12}' -f ([int64]"0x$Last_MAC_Address"+1)

但是,有一件事可能值得注意。MAC地址不仅仅是没有任何内部结构的随机6字节数字。它们实际上由两部分组成。前3个字节构成组织唯一标识符(OUI),这是供应商特定的前缀(00-15-5D是属于Microsoft的OUI之一)。只有最后3个字节是随机数,这是OUI标识的来自供应商的每张卡的唯一标识符。

考虑到这一点,您可能需要相应地拆分MAC地址,例如:

$oui, $nid = $Last_MAC_Address -split '(?<=^[0-9a-f]{6})(?=[0-9a-f]{6}$)'

或像这样:

$oui = $Last_MAC_Address.Substring(0, 6)
$nid = $Last_MAC_Address.Substring(6, 6)

并仅增加NIC标识符,并且仅在不会溢出的情况下:

if ($nid -ne 'ffffff') {
  $Next_MAC_Address = "{0}{1:X6}" -f $oui, ([int64]"0x$nid"+1)
} else {
  Write-Error 'MAC address overflow.'
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将十六进制编码的字符串转换为十六进制整数

来自分类Dev

如何将十六进制字符串转换为十六进制数字

来自分类Dev

Java:将十六进制编码的字符串转换为十六进制字节

来自分类Dev

将十六进制字符串转换为十六进制整数

来自分类Dev

将十六进制字符串转换为整数

来自分类Dev

将十六进制字符串转换为整数

来自分类Dev

如何将十六进制字符串转换为整数?

来自分类Dev

如何将十六进制字符串转换为整数?

来自分类Dev

如何将十六进制字符串转换为列表中的十六进制值块?

来自分类Dev

如何将十六进制字符串转换为十进制

来自分类Dev

如何将十六进制字符串转换为十进制值

来自分类Dev

如何将文本字符串转换为十六进制字符串?

来自分类Dev

如何将十六进制字符串转换为双精度字符串?

来自分类Dev

Python-从十六进制整数转换为十六进制字符串

来自分类Dev

如何将十六进制字符串转换为字符?

来自分类Dev

将Java字符串十六进制数转换为int十六进制数

来自分类Dev

将十六进制字符串数组转换为十六进制数组

来自分类Dev

将十六进制字符串值转换为十六进制数字

来自分类Dev

将字符串转换为十六进制字符

来自分类Dev

将字符串转换为十六进制字符

来自分类Dev

如何在scala中将十六进制字符串转换为十六进制值?

来自分类Dev

如何将int数组转换为十六进制字符串

来自分类Dev

如何将QByteArray转换为十六进制字符串?

来自分类Dev

如何将十六进制字符串转换为文本

来自分类Dev

如何将十六进制字符串转换为字节

来自分类Dev

如何将int数组转换为十六进制字符串

来自分类Dev

如何将Int转换为十六进制字符串?

来自分类Dev

如何将字符串转换为十六进制表示?

来自分类Dev

颤振如何将十六进制字符串转换为二进制字符串?

Related 相关文章

  1. 1

    如何将十六进制编码的字符串转换为十六进制整数

  2. 2

    如何将十六进制字符串转换为十六进制数字

  3. 3

    Java:将十六进制编码的字符串转换为十六进制字节

  4. 4

    将十六进制字符串转换为十六进制整数

  5. 5

    将十六进制字符串转换为整数

  6. 6

    将十六进制字符串转换为整数

  7. 7

    如何将十六进制字符串转换为整数?

  8. 8

    如何将十六进制字符串转换为整数?

  9. 9

    如何将十六进制字符串转换为列表中的十六进制值块?

  10. 10

    如何将十六进制字符串转换为十进制

  11. 11

    如何将十六进制字符串转换为十进制值

  12. 12

    如何将文本字符串转换为十六进制字符串?

  13. 13

    如何将十六进制字符串转换为双精度字符串?

  14. 14

    Python-从十六进制整数转换为十六进制字符串

  15. 15

    如何将十六进制字符串转换为字符?

  16. 16

    将Java字符串十六进制数转换为int十六进制数

  17. 17

    将十六进制字符串数组转换为十六进制数组

  18. 18

    将十六进制字符串值转换为十六进制数字

  19. 19

    将字符串转换为十六进制字符

  20. 20

    将字符串转换为十六进制字符

  21. 21

    如何在scala中将十六进制字符串转换为十六进制值?

  22. 22

    如何将int数组转换为十六进制字符串

  23. 23

    如何将QByteArray转换为十六进制字符串?

  24. 24

    如何将十六进制字符串转换为文本

  25. 25

    如何将十六进制字符串转换为字节

  26. 26

    如何将int数组转换为十六进制字符串

  27. 27

    如何将Int转换为十六进制字符串?

  28. 28

    如何将字符串转换为十六进制表示?

  29. 29

    颤振如何将十六进制字符串转换为二进制字符串?

热门标签

归档