Tengo una Cadena de cinco caracteres y quiero utilizar esos cinco caracteres como un número codificado en ASCII (imprimible). La forma más sencilla de lograr esto es utilizarNúmeros de Java con raíz> Carácter.MAX_RADIX
Long.toString(number, Character.MAX_RADIX);
Esto me dará números del "0"
a "zzzzz"
. Desafortunadamente, Long.toString(int, int)
solo admite letras minúsculas, no mayúsculas. Esto significa que el límite máximo es 36
y el número más alto que puedo codificar es 36^5 - 1 = 60 466 175
. Si pudiera utilizar las letras mayúsculas inferiores y, obtendría una raíz máxima de 62
y el número codificable más alto es 62^5 - 1 = 916 132 831
.
Además de copiar el código fuente de Long
y ampliar los dígitos posibles, ¿hay algún otro lugar que deba tenerse en cuenta, primero, donde esto ya está implementado?
Es posible que desee buscar codificadores y decodificadores Base64 (por ejemplo, http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.html), que utilizan dos símbolos adicionales para codificar – subsub
@subsub: ver la respuesta de WhiteFang –