Единственный тип данных в PowerShell, о котором я знаю, который может хранить 128-бит, - это [decimal]
, и хотя я, кажется, могу хранить переменную:
PS /home/leeand00/> [decimal]$ipv6addr=0x20010db81234
Кажется, я не могу вытащить его обратно (очевидно, это десятичное число):
PS /home/leeand00/>$ipv6addr
35188897223220
И я подумал, что, возможно, это сработает, но это не так:
PS /home/leeand00/>"{0:x4}" -f ($ipv6addr)
Error formatting a string: Format specifier was invalid..
At line:1 char:1
+ "{0:x4}" -f $ipv6addr
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: ({0:x4}:String) [], RuntimeException
+ FullyQualifiedErrorId : FormatError
Вышеуказанная ошибка не имеет смысла, потому что ... типы данных являются десятичными
PS /home/leeand00/Documents/lifehacker organized/docs> $ipv6addr.GetType().Name
Decimal
PS, я знаю, что в Powershell есть инструменты для работы с IPv6, но я просто пытаюсь выполнить некоторые простые двоичные операции, когда узнаю об этом.