Ist das Format der GUID immer gleich?

8

GUID erhalten Sie etwas wie aaaef973-d8ce-4c92-95b4-3635bb2d42d5

Ist es immer dasselbe? Wird es immer das folgende Format haben

8 char "-", 4 char "-", 4 char "-", 4 char "-", 12 char

Ich frage, weil ich eine GUID ohne "-" GUID mit "-" und Vize-Visa konvertieren muss.

    
001 15.10.2011, 02:49
quelle

3 Antworten

22

Nein; Es gibt andere Formate, z. B. das Format, das Sie außer mit geschweiften Klammern aufgelistet haben. Es gibt auch komplexere Formate. Hier sind einige der Formate, die MSDN auflistet:

  

UUID-Formate

     
  • 32 Ziffern: 00000000000000000000000000000000 (N)
  •   
  • 32 Ziffern getrennt durch Bindestriche: 00000000-0000-0000-0000-000000000000 (D)
  •   
  • 32 Ziffern getrennt durch Bindestriche, eingeschlossen in Klammern: {00000000-0000-0000-0000-000000000000} (B)
  •   
  • 32 Ziffern getrennt durch Bindestriche, eingeschlossen in Klammern: (00000000-0000-0000-0000-000000000000) (P)
  •   
  • Vier hexadezimale Werte in geschweiften Klammern, wobei der vierte Wert eine Teilmenge von acht hexadezimalen Werten ist, die ebenfalls in geschweifte Klammern eingeschlossen sind: {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} (X)
  •   

- MSDN

    
icktoofay 15.10.2011, 02:55
quelle
4

Sie sollten sich einfach darauf verlassen, dass es sich um 32 hexadezimale Zeichen handelt. Es kann verschiedene Möglichkeiten geben, es darzustellen. Im Wikipedia-Artikel finden Sie weitere Informationen, einschließlich einer Beschreibung, wie diese allgemein geschrieben sind.

Für Ihre Konvertierung sollten Sie sich wirklich auf die statischen Guid.Parse () Methoden . Mit einem Mix aus Ihrem Beispiel und denen in icktoofays Antwort funktioniert das gut:

%Vor%

dann für die Ausgabe sie mit oder ohne Bindestriche usw. können Sie die Guid.ToString () Methode mit einem der etablierten Formatcodes.

    
slugster 15.10.2011 02:55
quelle
0

In den meisten Fällen bestehen GUIDs aus hexadezimalen 32-Zeichenfolgen wie {21EC2020-3AEA-1069-A2DD-08002B30309D} (sofern sie nicht in Base-64 codiert sind) und werden normalerweise als 128-Bit-Ganzzahlen gespeichert. Sie werden jedoch nicht immer Bindestriche haben.

    
lottscarson 15.10.2011 02:55
quelle

Tags und Links