venerdì 29 maggio 2015

Accorciare un URL

Esistono vari servizi che accorciano un indirizzo URL, come ad esempio http://tinyurl.com/, che prendono un indirizzo internet tipo:
http://livecodeitalia.blogspot.it/2015/05/aggiungere-un-correttore-ortografico-ai.html

e lo trasformano in:
http://tinyurl.com/o9pxx5v

Questo tipo di trasformazione è semplicissima in livecode e oggi vedremo come fare.
I siti che usano l'accorciamento dell'url prendono la vostra richiesta e se non è già stata fatta la numerano. Ad esempio il vostra richiesta può essere la 15'478. Fatto ciò si trasforma il numero in base 36, in modo anche un numero enorme è rappresentato da pochissimi caratteri, e in livecode la trasformazione si ottiene con la  seguente riga di codice:

put baseconvert("15478",10,36)

questo codice creai il numero BXY che in base 36 significa 15'478 in base 10 (quella che usiamo di solito per contare).
A questo punto dal numero BXY per tornare al numero originale basta usare il seguente codice:

put baseconvert("bxy",36,10)

Chiaramente in questi siti c'è dietro anche un database dove legare il numero della richiesta a l'url corretto.
Usare la base 36 rende molto piccoli numeri, ad esempio al momento esistono 968'882'453 (novecentosessantotto milioni) di siti web e in base 36 questo numero è G0UIHH. Sempre oggi al momento ci sono circa 4.7 miliardi di pagine che in base 36 si scrive 6P598G.
Come vedete, anche se si volesse indicizzare tutte le pagine di internet, il nostro url non supererebbe 6 caratteri!