VB.NET中十六进制数字之间的交换
我需要交换一些字符串数据,如下所示: 我的字符串数据,例如:056446A750513300 我需要形成的是:00335150A7466405 我想你们注意到了这个模式(每两个最低有效位移动到最高有效位,以此类推) 我需要一个算法或代码,可以实现这种交换非常快在VB.NET。 我还有一个问题>>在这种情况下,我的字符串数据是否也可以作为十六进制数据而不进行任何转换VB.NET中十六进制数字之间的交换,vb.net,string,hex,swap,Vb.net,String,Hex,Swap,我需要交换一些字符串数据,如下所示: 我的字符串数据,例如:056446A750513300 我需要形成的是:00335150A7466405 我想你们注意到了这个模式(每两个最低有效位移动到最高有效位,以此类推) 我需要一个算法或代码,可以实现这种交换非常快在VB.NET。 我还有一个问题>>在这种情况下,我的字符串数据是否也可以作为十六进制数据而不进行任何转换 提前感谢。使用StrReverse功能 好的。。。现在我已经读过这个问题了 Dim InitialStr as String
提前感谢。使用StrReverse功能
好的。。。现在我已经读过这个问题了
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"
使用
StringBuilder
导入系统文本
Dim输入=“056446A750513300”
使某人成为新的架线工
对于i作为整数=输入。长度-1到0步骤-1
sb.追加(如果(i Mod 2,输入(i-1),输入(i+1)))
下一个
Dim result=sb.ToString()
这花了几秒钟在搜索引擎中搜索。。。。你真的应该试着做些工作!你测试过这个吗?该代码给出的003315057A644650不是OP想要的。与期望的结果相比:00335150A7466405通过不交换数字而是以相反顺序读取它们,一次读取两个半字节,可以使速度更快。当然,首先不要让它们按错误的顺序排列。如果不显示字符串的使用方式,您将无法获得准确的“使其快速”建议。请显示您尝试过的内容以及出现问题的地方。
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"