Foros del Web » Programando para Internet » PHP »

Bytes a Base64

Estas en el tema de Bytes a Base64 en el foro de PHP en Foros del Web. Buenas les comento mi problema tengo que resolver un problema en el cual me dan este estring: pasar de bytes a base64 "66,77,122,0,0,0,0,0,0,0,118,0,0,0,40,0,0,0,1,0,0, 0,1,0,0,0,1,0,4,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,128,0,0,0,128, ...
  #1 (permalink)  
Antiguo 11/03/2010, 08:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 22
Antigüedad: 16 años, 7 meses
Puntos: 0
Bytes a Base64

Buenas les comento mi problema

tengo que resolver un problema en el cual me dan este estring:

pasar de bytes a base64

"66,77,122,0,0,0,0,0,0,0,118,0,0,0,40,0,0,0,1,0,0, 0,1,0,0,0,1,0,4,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,128,0,0,0,128, 128,0,128,0,0,0,128,0,128,0,128,128,0,0,128,128,12 8,0,192,192,192,0,0,0,255,0,0,255,0,0,0,255,255,0, 255,0,0,0,255,0,255,0,255,255,0,0,255,255,255,0,14 4,0,0,0"


y yo tengo que hacerle las correspondientes transformaciones para que de eso obtener:


"Qk16AAAAAAAAAHYAAAAoAAAAAQAAAAEAAAABAAQAAAAAAAQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAAC AAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AJAAAAA="

este es un ejemplo pero debo hacerlo para cualquier otro valor que me pasen....


tienen idea como hacerlo?

hay paginas que te lo calculan, yo necesitaria ese codigo en lo posible con PHP
  #2 (permalink)  
Antiguo 11/03/2010, 08:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Bytes a Base64

Creo que para convertirlo a la forma como tu deseas debes usar base64_encode.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/03/2010, 08:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 22
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Bytes a Base64

si ejecuto esa funcion el resultado es:
"NjYsNzcsMTIyLDAsMCwwLDAsMCwwLDAsMTE4LDAsMCwwLDQwL DAsMCwwLDEsMCwwLDAsMSwwLDAsMCwxLDAsNCwwLDAsMCwwLDA sNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsM CwwLDAsMCwwLDAsMCwwLDEyOCwwLDAsMTI4LDAsMCwwLDEyOCw xMjgsMCwxMjgsMCwwLDAsMTI4LDAsMTI4LDAsMTI4LDEyOCwwL DAsMTI4LDEyOCwxMjgsMCwxOTIsMTkyLDE5MiwwLDAsMCwyNTU sMCwwLDI1NSwwLDAsMCwyNTUsMjU1LDAsMjU1LDAsMCwwLDI1N SwwLDI1NSwwLDI1NSwyNTUsMCwwLDI1NSwyNTUsMjU1LDAsMTQ 0LDAsMCww"


y no es lo que debe dar
  #4 (permalink)  
Antiguo 11/03/2010, 08:57
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Bytes a Base64

Si la codificación base64 no da lo que tu quieres que de es que no estás buscando una codificación base64. Así de pronto te diría que el igual al final de tu código no es relevante (es decir que si lo quitas no pasa nada).

Te digo lo que creo que es. Las comas separan caracteres y en tu dato se representan carácteres como su código ascii. Usa explode para sacar el array de carácteres, y luego los conviertes con chr a carácteres. Al unir los carácteres consigues una cadena de texto que, posiblemente, te de lo que quieres.

A mi entender tus datos son la representación de los gurpos de 8 bits en numérico, pues el más alto es 255 (lo cual en binario es 11111111), y separados por comas. Entonces:

(int) byte1,(int) byte2,(int) byte3...

donde la sintaxis (int) byten es la representación en número entero del byte número n (eso son 8 bits).


Entonces, resumiendo:

las comas son delimitadores, cada número entre 2 comas es un código ASCII, la unión de todos los códigos ascii da una cadena, y al pasar a base64 la cadena te debe salir esa solución.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it

Etiquetas: byte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:30.