我以前見過這個問題。這是由不同的工具以不同的方式解釋AD中的位的方式引起的。我敢打賭,你可以通過交換東西來將一個轉換爲另一個。你只需要找出算法。我寫了一些代碼,在一個實例中修正了類似的問題,可能並不完全適合你的修復,但應該讓你走上正確的道路。
Private Shared Function SymmetricConversion(source As Guid) As Guid
Dim sourceStr = source.ToString()
Dim sb = New System.Text.StringBuilder()
'group 1
sb.Append(sourceStr.Substring(6, 2))
sb.Append(sourceStr.Substring(4, 2))
sb.Append(sourceStr.Substring(2, 2))
sb.Append(sourceStr.Substring(0, 2))
sb.Append(sourceStr.Substring(8, 1))
'group 2
sb.Append(sourceStr.Substring(11, 2))
sb.Append(sourceStr.Substring(9, 2))
sb.Append(sourceStr.Substring(13, 1))
'group 3
sb.Append(sourceStr.Substring(16, 2))
sb.Append(sourceStr.Substring(14, 2))
'groups 4 and 5
sb.Append(sourceStr.Substring(18, sourceStr.Length - 18))
Dim resultStr = sb.ToString()
Dim result = New Guid(resultStr)
Return result
End Function
太棒了!它看起來像你的代碼將實際上解決我的問題。有趣的是,相同的代碼可以轉換兩種方式。 – DarylFranklin52