Hallo Stefan,

> Hat jemand eine Idee, wie ich aus einer GUID wie zum Beispiel
> 
> Id="{3F228864-BC1A-49D2-99F9-D750D5C6E1BE}"

Eine Windows-GUID hat 16 Bytes = 128 Bit.

Um die GUID darzustellen, kannst Du Dir nun ein Alphabet aussuchen. Dem
bin�ren Character des Problems folgend und um nicht zu viel Redundanz im
kodierten String zu haben, ist es sinnvoll, da� die Gr��e des Alphabets
gleich einer Potenz von zwei ist. Z.B.:

A = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}; |A| = 16.
Jeder Buchstabe dieses Alphabets kann also 4 Bit kodieren.
Dies ist die hex-Kodierung, die Du ja oben schon hast.
128/4  = 32 Zeichen pro Guid

A = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,E,I,O,U,Y}
5 Bit pro Zeichen, damit 128 / 5 ~= 27 Zeichen Pro Guid

A = {ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/}
Das ist Base64.
6 Bit pro Zeichen, damit 128 / 6 ~= 22 Zeichen pro Guid

A mit 128 Zeichen wird schon schwierig.

Diese Kodierungen sind eindeutig umkehrbar. Hashes k�nnten k�rzer sein,
haben aber diese Eigenschaft nicht.

-- 
Viel Spa�,
Alex

_______________________________________________
Coffeehouse mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an