在VB.NET中交换十六进制数字

时间:2014-07-21 13:27:48

标签: vb.net string hex swap

我有一些字符串数据,我需要像这样交换它:

我的字符串数据例如:056446A750513300 我需要形成的是:00335150A7466405

我认为你们注意到这个模式(每两个最低有效位数都是最重要的数字,依此类推)

我需要一种算法或代码,可以在VB.NET中快速实现这种交换。 我还有一个问题>>在这种情况下,我的字符串数据是否也可以作为十六进制数据而不进行任何转换?

提前感谢。

3 个答案:

答案 0 :(得分:0)

使用StrReverse函数.... http://msdn.microsoft.com/en-us/library/e462ax87(v=vs.90).aspx

Dim TestString As String = "056446A750513300" 

Dim revString As String = StrReverse(TestString)

' revString now equals "003315057A644650".

答案 1 :(得分:0)

好的......现在我已经阅读了这个问题......

    Dim InitialStr as String = "056446A750513300"
    Dim OutputStr as String

    Dim HexValues as String()
    For x = 0 to InitialStr.length/2
        HexValue(x) = Mid(InitialStr, x*2, 2)
    Next

    For x = InitialStr.length/2 to 0 step -1
        OutputStr += Hexvalue(x)
    Next

    'OutputStr now equals "00335150A7466405"

答案 2 :(得分:0)

使用StringBuilder

Imports System.Text
Dim input = "056446A750513300"
Dim sb As New StringBuilder
For i As Integer = input.Length - 1 To 0 Step -1
    sb.Append(If(i Mod 2, input(i - 1), input(i + 1)))
Next
Dim result = sb.ToString()