Mad Kristensen dostał jeden dół 00amyWGct0y_ze4lIsj2Mwnajkrótszą kodowania dla Guid do użycia w adresie URL
może pójść mniejszy niż to?
Mad Kristensen dostał jeden dół 00amyWGct0y_ze4lIsj2Mwnajkrótszą kodowania dla Guid do użycia w adresie URL
może pójść mniejszy niż to?
Wygląda na to, że istnieją tylko znaki 73, których można używać w adresie URL bez zmiany znaczenia. Jeśli tak jest, możesz przekonwertować 128-bitową liczbę na bazę 73 i mieć 21-znakowy adres URL.
JEŻELI możesz znaleźć 85 znaków prawnych, możesz uzyskać adres URL o długości 20 znaków.
Więc zapisujemy 9 znaków na adresie URL? Uważam, że łatwiej jest czytać/recytować szesnastkowy niż coś takiego jak 00amyWGct0y_ze4lIsj2Mw – hometoast
@ hometoast: Tak, cóż, to nie wydaje się być ograniczeniem dla OP. ;) – retracile
Użyłem kodowania Ascii85 do napisania Guid do kolumny bazy danych w 20 znakach ASCII. Wysłałem kod C# na wypadek, gdyby był przydatny. Specyficzny zestaw znaków może być inny dla kodowania URL, ale możesz wybrać dowolny znak odpowiedni dla twojej aplikacji. Jest dostępny tutaj: http://stackoverflow.com/questions/2827627/what-is-the-most-efficient-way-to-encode-an-arbitrary-guid-into-readable-ascii-3/4211088#4211088 – sheikhjabootie
identyfikator_GUID wygląda następująco c9a646d3-9c61-4cb7-bfcd-ee2522c8f633 - to 32 cyfry HEX, z których każdy koduje 4 bity, tak więc w całości 128 bitów
Kodowanie base64 używa 6 bitów na symbol, który jest łatwy aby uzyskać z bezpiecznymi adresami URL, aby nadać 22 znakowy łańcuch znaków. Jak zauważyli inni, możesz mieć 73 znaki url bezpieczne i zakodowane jako podstawowy numer 73, dając 21 znaków.
Jak wyprowadziłeś bit "6 bitów z bezpiecznego znaku URL"? –
Nie ma 127 znaków bezpiecznych adresów URL, więc założone 6 bitów byłoby maksymalne. –
6 bitów to base64, do którego trafił oryginalny link. Jeśli uzyskasz więcej niż 64 znaki, powiedzmy 85, możesz przekonwertować 128-bitową liczbę na 85 i uzyskać maksymalnie 20 znaków. To po prostu nie będzie tak miłe jak base64. – retracile
Ten link nie jest dobry. – Oscar