|
This class tries to satisfy the following requirements:
* all ASCII alphanumeric chars in the input should stay the same
ASCII alphanumeric chars in the output
* the resulting string should be as short as possible
* the operation needs to be reversable without any data loss
* the resulting ASCII string should be case insensitive
* there should be no restriction on the input length
* the whole UTF-8 range should be allowed
using it creates a way to store UTF-8 in filenames even if the
underlying filesystem does not support UTF-8. It is also pretty
robust when files are moved between various filesystems and it
creates shorter filenames than the currently used urlencoding.
|