VBScript-获取IP地址并将其反转

VBScript-获取IP地址并将其反转,vbscript,ip,Vbscript,Ip,很少有VB的经验,会让人头疼。 我需要取一个IP并反转它 例如,-11.22.33.44将变为44.33.22.11 我猜是把整批货都倒过来,然后根据价格把每一部分分开倒过来。分隔符 严格地说,我想做的是颠倒八进制的顺序——192.168.42.23应该变成23.42.168.192 谢谢 编辑-澄清对于您的示例,字符串反转就可以了 Dim txt txt="This is a beautiful day!" document.write(StrReverse(txt)) Output: !

很少有VB的经验,会让人头疼。 我需要取一个IP并反转它

例如,-11.22.33.44将变为44.33.22.11

我猜是把整批货都倒过来,然后根据价格把每一部分分开倒过来。分隔符

严格地说,我想做的是颠倒八进制的顺序——192.168.42.23应该变成23.42.168.192

谢谢


编辑-澄清

对于您的示例,字符串反转就可以了

Dim txt
txt="This is a beautiful day!"
document.write(StrReverse(txt))

Output:

!yad lufituaeb a si sihT
这只适用于您提供的示例。如果需要反转此选项,请执行以下操作: 12.34.56.78,以上将返回87.65.43.21,但您需要78.56.34.12

然后组合拆分+循环:

    a=Split("11.22.33.44", ".", 4)
    b= a(0)
    For i = 1 To 3
      b = a(i) & "." & b
    Next
    WScript.Echo  b
更新: 或者根本没有循环

    a=Split("11.22.33.44", ".", 4)
    b= a(3) & "." & a(2) & "." & a(1) & "." & a(0)
    WScript.Echo  b

举个例子,字符串反转就可以了

Dim txt
txt="This is a beautiful day!"
document.write(StrReverse(txt))

Output:

!yad lufituaeb a si sihT
这只适用于您提供的示例。如果需要反转此选项,请执行以下操作: 12.34.56.78,以上将返回87.65.43.21,但您需要78.56.34.12

然后组合拆分+循环:

    a=Split("11.22.33.44", ".", 4)
    b= a(0)
    For i = 1 To 3
      b = a(i) & "." & b
    Next
    WScript.Echo  b
更新: 或者根本没有循环

    a=Split("11.22.33.44", ".", 4)
    b= a(3) & "." & a(2) & "." & a(1) & "." & a(0)
    WScript.Echo  b

您需要将IP地址拆分为八位字节,并按相反顺序重新组合:

addr1 = Split("11.22.33.44", ".")
maxindex = UBound(addr1)
ReDim addr2(maxindex)
For i = 0 To maxindex
  addr2(maxindex - i) = addr1(i)
Next

WScript.Echo "Forward: " & Join(addr1, ".")
WScript.Echo "Reverse: " & Join(addr2, ".")
输出:

Forward: 11.22.33.44
Reverse: 44.33.22.11

您需要将IP地址拆分为八位字节,并按相反顺序重新组合:

addr1 = Split("11.22.33.44", ".")
maxindex = UBound(addr1)
ReDim addr2(maxindex)
For i = 0 To maxindex
  addr2(maxindex - i) = addr1(i)
Next

WScript.Echo "Forward: " & Join(addr1, ".")
WScript.Echo "Reverse: " & Join(addr2, ".")
输出:

Forward: 11.22.33.44
Reverse: 44.33.22.11

VB.NET和VBScript不同,请指定哪一个VB.NET和VBScript不同,请指定哪一个OneHanks-我在b=b&“&a[i]处得到了意外的语句结尾错误数组索引参数:[]=>();44的索引是3,结果将以a开头。!正确的。不能向后循环。更新并测试了这个。@Jonathan当然可以向后循环。你只需要一个负的步长值:
对于i=3到1的步长-1
很好知道。谢谢@Ansgar Wiechers.Thank-我在b=b&“&a[i]处得到了意外的语句结尾,数组索引参数错误:[]=>();44的索引是3,结果将以a开头。!正确的。不能向后循环。更新并测试了这个。@Jonathan当然可以向后循环。你只需要一个负的步长值:
对于i=3到1的步长-1
很好知道。谢谢你@Ansgar Wiechers。