Mad Kristensen ottenuto uno verso il basso per 00amyWGct0y_ze4lIsj2Mwpiù breve di codifica per Guid per l'uso in un URL
Può andare più piccolo di quello?
Mad Kristensen ottenuto uno verso il basso per 00amyWGct0y_ze4lIsj2Mwpiù breve di codifica per Guid per l'uso in un URL
Può andare più piccolo di quello?
Sembra che ci siano solo 73 caratteri che possono essere utilizzati senza caratteri di escape in un URL. Se questo è il caso, è possibile convertire il numero di 128 bit in base 73 e avere un URL di 21 caratteri.
SE è possibile trovare 85 caratteri legali, è possibile ottenere un URL di 20 caratteri.
Quindi stiamo salvando 9 caratteri nell'URL? Trovo in realtà più facile leggere/recitare l'esadecimale di qualcosa di simile a 00amyWGct0y_ze4lIsj2Mw – hometoast
@hometoast: Sì, beh, quello non sembrava essere un vincolo per l'OP. ;) – retracile
Ho usato una codifica Ascii85 per scrivere un Guid su una colonna del database in 20 caratteri ASCII. Ho pubblicato il codice C# nel caso sia utile. Il set di caratteri specifico potrebbe essere diverso per una codifica URL, ma puoi scegliere qualsiasi carattere adatto alla tua applicazione. È disponibile qui: http://stackoverflow.com/questions/2827627/what-is-the-most-efficient-way-to-encode-an-arbitrary-guid-into-readable-ascii-3/4211088#4211088 – sheikhjabootie
Un GUID appare così c9a646d3-9c61-4cb7-BFCD-ee2522c8f633 - che è 32 cifre esadecimali, ogni codifica 4 bit, in modo da 128 bit in totale
Una codifica base64 utilizza 6 bit per simbolo, che è facile per ottenere con caratteri sicuri URL di dare una stringa con 22 caratteri codificati. Come altri hanno notato, è possibile con 73 simboli url sicuri e codificati come numero base 73 per dare 21 caratteri.
Come hai ottenuto il bit "6 bit di un URL sicuro"? –
Non ci sono 127 caratteri sicuri per URL, quindi supponiamo che 6 bit siano il massimo. –
6 bit è base64, a cui il collegamento originale è andato. Se è possibile ottenere più di 64 caratteri, ad esempio 85, è possibile convertire il numero a 128 bit in base 85 e ottenere fino a 20 caratteri. Non sarà bello come base64. – retracile
Questo collegamento non va bene. – Oscar