为什么 C# 中的 Guid.ToByteArray “重新更改”字节位置?

问题描述 投票:0回答:0

Guid.ToByteArray() 改变第一个字节的位置。为什么这个方法会这样做? 我想以相同的形式将 Base64 字符串解析为字节数组。

看这个例子1

Guid guid = Guid.NewGuid();
Console.WriteLine($"Guid: {guid}");
var bytes = guid.ToByteArray();
foreach (var byt in bytes)
    Console.Write($"{byt:X2} ");

Console.WriteLine();
var guid2 = new Guid(bytes);
Console.WriteLine($"Guid: {guid2} (Same as First Guid: {guid2.Equals(guid)})");

// The example displays output similar to the following:
//
//    Guid: 35918bc9-196d-40ea-9779-889d79b753f0
//    C9 8B 91 35 6D 19 EA 40 97 79 88 9D 79 B7 53 F0
//    Guid: 35918bc9-196d-40ea-9779-889d79b753f0 (Same as First Guid: True)

我也尝试了 Encoding.GetBytes()2,但这也不起作用。

[1] https://learn.microsoft.com/en-us/dotnet/api/system.guid.tobytearray?view=net-8.0

[2] https://learn.microsoft.com/de-de/dotnet/api/system.text.encoding.getbytes?view=net-7.0

c# guid
© www.soinside.com 2019 - 2024. All rights reserved.