Am 19.06.2014 um 21:36 schrieb Esteban A. Maringolo <emaringolo@gmail.com>:
Cool!
It is a nice companion to my 8 byte "pretty much unique" generator [1], and could be integrated in my friendly URLs :).
cool
However, I couldn't prove the case insensitivity of Base36, the #toNumber: ignores characters not present in the Characters array. I fixed Base36 toNumber: but broke Base62 tests :)
self assert: (Base36 toNumber: (Base36 fromNumber: 16) asUppercase)
Good catch. It is fixed now. I've uploaded a new version Norbert
will fail.
Regards,
-- Esteban.
[1] https://gist.github.com/eMaringolo/be973dcf03b0783711f1
Esteban A. Maringolo
2014-06-12 8:16 GMT-03:00 Norbert Hartl <norbert@hartl.name>:
Hmm *cough*
http://smalltalkhub.com/#!/~NorbertHartl/Base62
Norbert
Am 12.06.2014 um 13:12 schrieb Norbert Hartl <norbert@hartl.name>:
Just for the record. Iâve uploaded a package to smalltalkhub that contains util classes to en-/decode values into/from Base62/Base36.
Base62/Base36 encode numbers in short strings. These are used e.g. by url shortener services from google, bit.ly etc.
Base36 uses lowercase letters and numbers to encode, Base62 uses all characters from Base36 plus all uppercase letters. Base62 produces smaller strings while Base36 produces case insensitive ones.
Example:
Base62 fromNumber: 100000 -> 'q0Uâ
Base36 fromNumber: 100000 -> â255s'
FYI,
Norbert