Título: Dudas con respecto a Base64 Publicado por: final_frontier en 6 Septiembre 2010, 18:55 pm He estado leyendo el tuto de base64 de aquí
http://foro.elhacker.net/tutoriales_documentacion/base_64-t9039.0.html que dicho sea de paso es clavado al de wikilearnings xD pero está incompleto (o al menos lo creo así), me han surgido un par de dudas: 1.- ¿Cuando se pone el = en una cadena? 2.- En el ejemplo, se ha utilizado (y en todos los que he visto) una cadena de 3 caracteres, da la casualidad de que cuando la longitud de la cadena que introduces es múltiplo/divisor de 3, a la hora de hacer las cuentas para dividir la gran cadena de números binarios en cadenas de 6 es completamente EXACTA, si por ejemplo son 2 letras la cadena que introduces, a la hora de dividir en las subcadenas de 6 caracteres algún hueco queda por ahí, entonces, se rellena con ceros? por la izquierda o por la derecha? 3.- ¿Qué pasa si la cadena tiene espacios de por medio? Título: Re: Dudas con respecto a Base64 Publicado por: APOKLIPTICO en 7 Septiembre 2010, 23:37 pm Te dejo este link con buena info: http://en.wikipedia.org/wiki/Base64 (http://en.wikipedia.org/wiki/Base64)
1)El "=" se utiliza como padding, osea, para rellenar cuando no es exacto. Siendo que es base 64, cada 3 bytes de input, salen 4 bytes de output. Si son menos de 3 bytes, se rellenan los bytes restantes con "=". Cito: Citar Input ends with: sure. Output ends with: c3VyZS4= Input ends with: sure Output ends with: c3VyZQ== Input ends with: sur Output ends with: c3Vy Input ends with: su Output ends with: c3U= 2) Bueno, esto te lo respondí en la 1. 3) Los espacios, son caracteres también en el código ASCII (" " = 32 Ascii). Ergo, se convierten a base 64 tmb. Por ejemplo " " (tres espacios) se convierten en "ICAg". Lo bueno del base64, es que sirve para convertir cadenas no legibles en legibles. |