| |||
como covertir una cadena de texto a su equivalencia a binario con JavaScript Mi pregunta es si hay forma de de convertir una cadena de texto al lenguaje binario con JavaScript, no se, con eval(), new String(), parseInt() |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript loading......... asi: Código PHP: Y bueno convertir un hexadecimal a binario.... 1er semestre de Informática. (cosa que no recuerdo) :p connection closed.
__________________ Maborak Technologies |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript La función que posteas, MaBoRaK: Código PHP: Código PHP: De la misma manera, toString(2) te lo pasará a binario. Sólo tienes que sacar el numerito de cada caracter y hacerle un toString(2): Código PHP: Y como me aburría un poco he decidido crear la función inversa, la que pasa de la cadena que creamos anteriormente a la cadena original: Código PHP: Con estas dos funciones haremos: Código PHP:
Código:
La cadena derkeNuke convertida a base 16 da como resultado 6465726b654e756b65, que si la volvemos a pasar a original obtendremos derkeNuke. Espero que os guste el script Saludos a los dos!
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Gracias Shiryu_Libra!! La verdad es que detesto programar, pero tengo al amo detrás dándome latigazos para que acabe rapidito...
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola: Pues veo que en vez de hacer una conversión binaria, es una conversión hexadecimal... Bueno, binario es una combinación de unos y ceros... la propuesta mía:
Código:
Y como prueba alert('Hola'.toBin())String.prototype.toBin = function() { function binario(x, posi) { if (posi > 0) return binario(parseInt(x / 2), posi - 1) + (x % 2).toString(); else return (x % 2); } cadena = ""; for (i = 0, total = this.length; i < total; i ++) cadena += binario(this.charCodeAt(i), 7); return cadena; } Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Muchas gracias por vuestra ayuda, y sobre todo a caricatos, que ha hecho lo que realmente queria, que era convertir strings a lenguaje binario, dicho de otra manera la equivalencia de un texto a ceros y unos, y gracias a todos por vuestra ayuda y por cederme vuestro tiempo, que seguramente el error ha sido mio por no explicarme bien. Saludos de parte de _jesic@=01011111 |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Cita: Hola:
Iniciado por _jesic@ Muchas gracias por vuestra ayuda, y sobre todo a caricatos, que ha hecho lo que realmente queria, que era convertir strings a lenguaje binario, dicho de otra manera la equivalencia de un texto a ceros y unos, y gracias a todos por vuestra ayuda y por cederme vuestro tiempo, que seguramente el error ha sido mio por no explicarme bien. Saludos de parte de _jesic@=01011111 Agradezco el agradecimiento (vaya la redundancia)... y para contestar revisé con más detenimiento el código de derkenuke que me pareció muy interesante; pero basándome en que toString() no solo se aplica a lo números sino a todos los objetos, no le hice mucho caso a la variante propuesta. En esta nueva revisión la he encontrado muy instructiva Otra vez he aprendido algo de otro gran maestro. saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript que onda, tengo una dudilla, Caricatos, me puedes explicar esta linea ? String.prototype.toBin = function() que es lo que hace hay?
__________________ Wow! No se que decir... |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Cita: Hola:Esa línea crea una función (método) asociado a las cadenas... entonces, siempre que a una cadena le pones la coletilla "toBin()", lo que se muestra, o mejor dicho, lo que se envía al solicitante (puede tratarse de una salida o cualquier otra cosa como alguna función) es lo que aparece detrás del return en este caso. saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Cita: Grrr, ¿acaso .toBase(2) de mi código no te valía?PD: No me enfado _jesic@, pero me hubiera gustado algún comentario.. por aquello de la voluntad...
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript loading.......... Cita: jejeje hermano, esta mujer no ha leido todo el POST y se fue hasta el final :pYo reconosco tu trabajo y realmente me ha sorprendido ;) y lo he añadido a mi repositorio de HERRAMIENTAS... porque pienso tatuarme todo el cuerpo con la licencia GPL en binario .. (sin comentarios) connection closed.
__________________ Maborak Technologies |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola: No se trata de defender a Jesica, pero probando en explorer los métodos toString(2) en un número, y toBase(2)... ambos me han devuelo solo los bits significativos, y no 8 bits (los clásicos de un byte)... por lo que son soluciones "retocables" ¿Los han probado...? Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Lo siento derkenuke , pero yo de programacion JavaScript se lo justo, y he intentado probar con tu codigo, pero no se como para que me apareca en pantalla con un alert() o con document.write(), pero de ante mano, ya os he dicho a todos que os agradezco un monton por vuestra ayuda y por colaborar en mi pregunta, se que todos me han regalado no un granito de conocimiento si no un monton de sacos de granitos de ayuda jijijiji, y se que todos sabeis programar muy bien bueno algunos abligados jejejejeje. Saludos derkenuke lo siento pero, espero que con esto quedes satisfecho for (var gracias = 0; gracias < 10000000000000; gracias++){document.write(gracias)} |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript amigos, un saludo.... decidan ustedes.... derkenuke letras caricatos alert
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Esto si es un foro de discusiones, donde se opina, se suguiere, se observa y se compara, visitar esta pagina: hwagm.elhacker.net/php/sneak.php y a ver si alguien me da una conclusion por que yo ya me he hecho un lio. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript loading............ cadena += binario(this.charCodeAt(i), 7); porque 7? :S connection closed.
__________________ Maborak Technologies |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript loading.......... interesante.... Hola en binario segun: Caricatos: 01101000011011110110110001100001 Derkenuke:1101000110111111011001100001 Y convertidos a string por la funcion DERKENUKE: Caricatos:hola Derkenuke:hola connection closed.
__________________ Maborak Technologies |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola: _jesic@: El enlace parece estar roto... revísalo: MaBoRaK: Se trata de una función recursiva que se corta cuando ese parámetro llega a 0... y representan los bits 0..7 (la verdad es que no estudié el código en profundidad) Tal vez se pueda mejorar... Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript A este foro le estoy cogiendo el gustillo que la cosa cada vez se va poniendo mas caliente, ya que el objetivo es llegar a una solucion bilateral, donde las soluciones tienen que ser sinonimo de un consenso claro... bueno, bueno, bueno ya paro que ya me parezco a los politicos y eso aqui no pega, que yo lo unico que quiero saber como convertir texto plano, a codigo binario. Y el enlace esta roto porque a mi no me da la opcion mandar vinculos completos, poner h t t p :// delante de hwagm.elhacker.net/php/sneak.php. imprimir.en.pantalla("Saludos"); // xDD |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript el punto en todo caso, es de que cualquiera de los dos codigos te permiten realizar tu funcion... o el proposito que buscas suerte
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola: La verdad es que se trata de un tema curioso. Mi intención era considerar los caracteres dentro del rango de los bytes de toda la vida (8 bits), pero no tengo la menor idea del rango que puedan tener los juegos de caracteres actuales (miles tal vez)... Con el sistema que planteé se calculan solo 8 bits, pero con letras como la del euro (& euro;) se pasa bastante del rango, y por eso pensé retocar el código:
Código:
En este caso no se indica el número de bits, porque solo se calculan los significativos, y el resultado es el mismo que poniendo toString(2)...function binario(x) { ch = ""; while (x > 0) {ch = (x % 2) + ch; x = parseInt(x / 2)}; return ch; } Una mala noticia es que sería imposible (creo) conseguir un algoritmo inverso. Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Eso es, es lo que explica caricatos. Con su función binario: Código PHP:
Código:
Es lo mismo pero con un cero delante para completar.// "h" convertida 01101000 //caricatos 1101000 //derkeNuke Si se devuelve lo mismo al volver a traducir con mi función toChar no es un motivo de coincidencia. De hecho la función toChar tiene un bucle principal que hace lo siguiente:
Código:
Se comprueba fácilmente cómo 01101000 y 1101000 (sin el 0 inicial) tienen el mismo valor en decimal porque el caracter n de valor a en binario representa en decimal a*(2^n) (supongo que sabréis pasar de binario a decimal:// cadena a convertir, 01101000: - cojo desde 0 a 1: "0". Paso de binario a decimal = 0. ¿Esta entre 65 y 122 (letras...)? No, luego coger desde 0 a 2. - cojo desde 0 a 2: "01". Paso de bin a dec = 1. ¿Es letra? No, luego cogemos (0,3) - cojo desde 0 a 3: "011". A dec = 3. No es letra. - cojo (0,4): "0110". dec=6. No es letra. - cojo (0,5): "01101". dec=13. No es letra. - cojo (0,6): "011010". dec=26. No es letra. - cojo (0,7): "0110100". dec=52. No es letra. - cojo (0,8): "01101000". dec=104. Sí que está en el rango 65-122, luego es letra. ¿Qué letra es 104?, Pues la h. Añadimos una h al resultado. - como hemos cogido (0,8) y 8 es cadena.length ya no puedo coger más, luego la cadena resultado es "h". 011001: 0*(2^5)+1*(2^4)+1*(2^3)+0*(2^2)+0*(2^1)+1*(2^0)=16 +8+1=25 ) Luego al traducir 01101000 y 1101000 da 104 de todas maneras, la letra h. Lo malo es al concatenar
Código:
Pero vamos, que al convertir sería lo mismo.h = 01101000 ó 1101000 o = 01101111 ó 1101111 l = 01101100 ó 1101100 a = 01100001 ó 11000011 luego "hola" = 01101000011011110110110001100001 ó 1101000110111111011001100001 Depende si colocamos los ceros para completar el octeto o no. Personalmente quizás sería mejor la opción de caricatos, y añadiendo un espacio entre octeto y octeto para diferenciar las letras: Código PHP: Código PHP: Bueno, por fin, código completo para copiar al editor... Código PHP: PD: Se me ha ocurrido que podía utilizar expresiones regulares para traducir de cualquier base a letras:
Código:
Será un poco más rápida la conversión... pero creo que ahí me he ido demasiado... mejor me voy ya a la cama...String.prototype.toChar=function(fromBase) { return this.replace(/(([^\s])+\s)/g, function($1) { return String.fromCharCode( parseInt($1,fromBase) ); //$1 es el grupo que convertiremos } ); } PD2: Ojo que en binario el grupo de caracteres es 8, el octeto queda muy bonito. Pero si convertimos a base 36 quedan cosas como 0000002w, que sigue funcionando, pero no se yo hasta qué punto será correcto... En fin, eso, a dormir ya que las drogas son malas, y odio el javascript. Un saludo a todos!
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. Última edición por derkenuke; 12/04/2007 a las 21:34 Razón: La etiqueta [PHP] me quitaba las contrabarras en un código! Sustituidas por [CODE] |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript no pues si ............pero si... once again my friend without words "sin palabras"
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| |||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola de nuevo, por curiosidad, por anciedad de saber y por compartir conocimiento, esta noche pasada he buscado en profundidad (120 minutos), pero muy en profundidad en varios buscadores de internet de como sacar el binario de una cadena de texto (ASCII) algunos me parece que no estan hechos con JavaScript, pero, curiosamente todos coinciden en el mismo resultado (hola=01101000011011110110110001100001), algunos de ellos realizan multiples conversiones, aqui os pongo las direciones, sin el h t t p :// w w w, o h t t p :// por delante, que ya hos he dicho que ami no me dan esa opcion de mandar enlaces: theskull.com/javascript/ascii-binary.html hwagm.elhacker.net/php/sneak.php nickciske.com/tools/binary.php vortex.prodigynet.co.uk/misc/ascii_conv.html roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp yellowpipe.com/yis/tools/encrypter/index.php dyersweb.com/conversion/binary-ascii/ Que sale lo mismo que dece derkenuke, que nos ha dado una profunda explicacion sobre el tema con base en lo que nos ha planteado caricatos. Saludilllos y gracias a TODOS Última edición por _jesic@; 12/04/2007 a las 12:47 |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Cita: Hola:
Iniciado por _jesic@ Hola de nuevo, por curiosidad, por anciedad de saber y por compartir conocimiento, esta noche pasada he buscado en profundidad (120 minutos), pero muy en profundidad en varios buscadores de internet de como sacar el binario de una cadena de texto (ASCII) algunos me parece que no estan hechos con JavaScript, pero, curiosamente todos coinciden en el mismo resultado (hola=01101000011011110110110001100001), algunos de ellos realizan multiples conversiones, aqui os pongo las direciones, sin el h t t p :// w w w, o h t t p :// por delante, que ya hos he dicho que ami no me dan esa opcion de mandar enlaces: theskull.com/javascript/ascii-binary.htmlhwagm.elhacker.net/php/sneak.php nickciske.com/tools/binary.php vortex.prodigynet.co.uk/misc/ascii_conv.html roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp yellowpipe.com/yis/tools/encrypter/index.php dyersweb.com/conversion/binary-ascii/ Que sale lo mismo que dece derkenuke, que nos ha dado una profunda explicacion sobre el tema con base en lo que nos ha planteado caricatos. Saludilllos y gracias a TODOS Interesantes enlaces, lastima que no estén en Español. Lo que he notado es que en todos los ejemplos se trata de ASCII, pero las tendencias actuales son pasar de la restricción de los 8 bits... Creo que es un interesante caso de estudio... Por cierto, retoqué el mensaje de jesica para que se enlacen desde el contenido. Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Ok, pues nos quedamos con la idea de no quitar los ceros, y completar el octeto en binario. ¿Y en los demas? En hexadecimal por ejemplo: ¿hay que rellenar con ceros hasta cumplir con un número de caracteres? ¿Lo sabéis?
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Juas, he estado revisando... Ojo el código inteligente de http://www.theskull.com/javascript/ascii-binary.html Código PHP: Código PHP: Ni siquiera se ha dignado a meterlo en un array y comerse la cabeza... (por cierto, el código no es de la web, es un copypaste del autor G. Marshall Brown. Eso es programar y lo demás son tonterías...
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript eso si es tener tiempo libre para realizar ese codigo ... ahora imaginense meterlo en array.....
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| ||||
Re: como covertir una cadena de texto a su equivalencia a binario con JavaScript Hola: Se me ocurrió que para poder reconocer las letras, podría poner un carácter distinto de 0/1 como delimitador, de esa forma se reconocerían los caracteres, también sería innecesario completar los 8 bits (aunque en el ejemplo adjunto se contemple) y sobre todo, se podría usar tecnología inversa...
Código:
Hace algunos años, hice una página donde se generaban todas las letras con un script: Generador de Fórmulas Matemáticas y Lenguaje HTML, pinchando sobre letras se abre un popup con todas las letras, y pinchando sobre estas se devuelve la codificación html correspondiente... también se muestra el código al posarse con el ratón (por el atributo title)<html> <head> <title> binario </title> <script type="text/javascript"> String.prototype.toChar = function() { // La cadena es del tipo generado por toBin()... // cada carácter se separa por "-" function Decimal(bin) { b = bin.split("").reverse(); contador = 0; for (var i = 0, total = b.length; i < total; i ++) contador += Math.pow(2, i) * parseInt(b[i]); return contador; } palabra = ""; c = this.split("-"); for (var i = 0, total = c.length; i < total; i ++) palabra += String.fromCharCode(Decimal(c[i])); return palabra; } String.prototype.toBin = function() { function binario(x) { ch = ""; while (x > 0) {ch = (x % 2) + ch; x = parseInt(x / 2)}; while (ch.length < 8) ch = "0" + ch; return ch; } cadena = new Array(); for (i = 0, total = this.length; i < total; i ++) cadena[cadena.length] = binario(this.charCodeAt(i), 7); return cadena.join("-"); } </script> <body onload="alert('€ hola'.toBin().toChar() + ' = ' + '€ hola'.toBin())"> </body> </html> Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |