Un esempio C# che mostra come è possibile convertire un tipo Guid in una stringa di caratteri in Base 64

C#

Guid g = Guid.NewGuid();

string s = Convert.ToBase64String(g.ToByteArray()).TrimEnd('=');

Console.WriteLine($"{s} len {s.Length}");
da questo risultato

Text

506IKJbHTEysSgqVJTUFIA len 22
Con .TrimEnd('=') rimuovo i 2 uguali finali che non cambiano mai.

Questo perchè Guid occupa 16 bytes (1 bytes = 8 bit) convertito in Base 64, dove per rappresentare un carattere servono 6 bits (2 ^ 6 = 64 possibili valori da 0 a 63), quindi il valore 22 è il risultato del calcolo 8 bits * 16 bytes = 128 bits / 6 bits = 21,3333....

Ovvero per rappresentare 16 byte in notazione Base 64 servono 22 caratteri.
Un Guid empty, vuoto {00000000-0000-0000-0000-000000000000}, da questo risultato

Text

AAAAAAAAAAAAAAAAAAAAAA len 22
Tags:
C#236 Esempi225
Potrebbe interessarti anche: