Вот проблема, для которой я пытаюсь найти оптимальное решение. У меня есть конечное множество неотрицательных целых чисел в диапазоне [0...N]. Мне нужно иметь возможность представить каждое число в этом наборе в виде строки и иметь возможность преобразовать такую строку обратно в исходное число. Таким образом, это должна быть биективная функция.
Дополнительные требования:
Для п.1 и п.2 очевидным решением является использование чего-то вроде нотации Base64 (или любой другой BaseXXX, чтобы вместить все значения). Но можем ли мы уложиться в п.3 с минимальными дополнительными усилиями? Здравый смысл подсказывает мне, что дополнительно нужна биективная функция "String <-> String" для значений BaseXXX. Есть предложения? Или, может быть, есть что-то лучше, чем BaseXXX, что можно использовать, чтобы соответствовать всем 3 требованиям?