On Jan 20, 2011, at 1:12 AM, Miguel Oyarzo O. wrote:
> Investigue y todas las funciones q pille (hasta codificacion eb base por alli
> 256) y todas fallan con mi numero de 21 digitos. Es muy grande para tratarlo
> facilmente en PHP.
Un número de 21 dígitos es muy grande para PHP (32bits == 2147
Investigue y todas las funciones q pille (hasta codificacion eb base por
alli 256) y todas fallan con mi numero de 21 digitos. Es muy grande para
tratarlo facilmente en PHP.
Quizas otro tipo de tratamiento, como gzip o similar (para PHP), pero
igual me dejan una cadena mínima de 14 caractere
Miguel:
Así es. Para saber la cantidad de dígitos según la base, se puede usar
ceil(log[baseX](10^25))
Por ejemplo: log35(10^25) = 13.6
Al contrario, puedes calcular la base mínima que necesitas:
(10^25)(1/10) = 125.8
Necesitaas una base de 126 para llegar a 10 dígitos :)
Otra forma más simpl
Juan C. Olivares
No se exactamente a que te refieres como "arreglo de bytes" pero lo que
hice fue pasar la cadena numerica a base 35 y aun asi solo puedo obtener
una representacion en 14 caracteres de 0 a la z.
=
Miguel A. Oyarzo O.
Ingeniería en Redes y T
Miguel:
Lo que pasa es que ahí estás pasando a base64 el string. Lo que deberías
hacer es obtener el número como arreglo de bytes... no sé cómo se hace
exactamente en PHP.
2011/1/19 Miguel Oyarzo O.
>
> Eso pensé yo, pero mira
>
> echo base64_encode("801816020110119185516");
> Salida: ODAxODE2M
Eso pensé yo, pero mira
echo base64_encode("801816020110119185516");
Salida: ODAxODE2MDIwMTEwMTE5MTg1NTE2
=
Miguel A. Oyarzo O.
Ingeniería en Redes y Telecomunicaciones
Austro Internet S.A. & INALAMBRICA S.A.
Teléfono: [+05661] 710030
Punta Arenas - Chile
L
Como, al parecer, esa variable es numérica, es súper simple. Sólo debes
cambiar la base (por ejemplo: decimal a base64).
En teoría, el valor máximo de 21 caracteres (10^21) puede ser representado
por 12 caracteres en base 64. Puedes usar las funciones de base64 existentes
en PHP:
http://php.net/m
Estimados,
Necesito acortar de cualquier forma una variable de 21 caracteres y
dejar una representacion en solo 10.
Ejemplo:
echo acortar("192034123456456789098");
Salida: !QQ23"!EQW
echo deacortar("!QQ23"!EQW");
Salida: 192034123456456789098
No más de 10 (ese es el problem).
Alguna suger
8 matches
Mail list logo