Página 1 de 1

Convertir texto a ASCII [Python]

Publicado: 19 Jun 2010, 20:42
por WindHack
Función para convertir texto a ASCII...

Código: Seleccionar todo

def Text2ASCII(Cadena):
    i = 0 					           # Variable del bucle.
    Size = len(Cadena)		     # Longitud de la cadena.
    Temp = ''					        # Variable temporal, donde se construirá la cadena en ASCII.
    while i < Size:  				      # Instancia del bucle.
        Temp += str(ord(Cadena[i])) + ','  # Se empieza a contruir la palabra, usando la función ord().
        i += 1 					      # Aumentamos el valor de la variable del bucle.
    return Temp					        # Retornamos la palabra ya convertida.
Para más información y alternativas a éste código: [Enlace externo eliminado para invitados] ... viceversa/

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 01:22
por R-007
yo aporto mi versión de consola en C++ (compilado con C++ Builder):

Código: Seleccionar todo

//---------------------------------------------------------------------------
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <string.h>
using namespace std;
//---------------------------------------------------------------------------
string text2Ascii(const string str){
  char* cstr = new char[3]; //almacena las 3 cifras del ASCII
  string tmp; //string acumulador
  unsigned int i = 0;
  for(i = 0; i<str.length(); i++){
       itoa(int(str.at(i)),cstr,10);
       tmp = tmp+cstr+",";
   }
  delete cstr; cstr = NULL; //se elimina el puntero
  return tmp; //devuelve la string acumulada
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
        char text[30];
        clrscr();
        cout << "STRING TO ASCII CONV. BY R-007" << endl;
        cout << "------------------------------" << endl;
        cout << "Introduzca una cadena (max = 30 char):"  ;
        cin >> text;
        cout << "------------------------------" << endl;
        cout << "Texto: " <<text << endl;
        cout<< "ASCII: "<<text2Ascii(text) << endl;
        cout << "------------------------------" << endl;
        cout << "Texto convertido con exito. Presione cualquier tecla para salir..." << endl;
        getch();
        return 0;
}
//---------------------------------------------------------------------------
Espero que les haya gustado mi aporte. Un saludo! R-007

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 02:32
por WindHack
R-007 varias cosas para tu código:

1 - La declaración de iostream.h está mala, ya que es una cabecera antigua y los compiladores nuevos te tirarán error, en su defecto, usa #include <iostream>

2 - No uses la cabecera conio.h, está obsoleta. En su defecto usa la función getchar(); de iostream.

3 - Los pragmas no son necesarios.

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 04:23
por linkgl
1 - La declaración de iostream.h está mala, ya que es una cabecera antigua y los compiladores nuevos te tirarán error, en su defecto, usa #include <iostream>

2 - No uses la cabecera conio.h, está obsoleta. En su defecto usa la función getchar(); de iostream.
1.- La declaración de iostream depende del compilador, da igual si es antiguo o nuevo, por lo que la declaración es correcta, en algunos tira error si no pones iostream.h en otros da error si pones iostream...

2.- La librería conio.h no es que esté obsoleta si no que no es una de las librerías estandar de C/C++ por lo tanto la mayoría de los compiladores la desconocen y aveces ocasiona problemillas por ahí

3.- En php...

Código: Seleccionar todo

<?php
function txt2ascii($cadena)
{
  $n="";
  for($i=0;$i<strlen($cadena);$i++)
    $n.=ord($cadena[$i]).',';
  return $n;
}

//uso 
echo txt2ascii("hola soy linkgl");
?>
Realmente es una función muy simple ;)

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 08:09
por R-007
sí... se que la librería conio.h no es una librería standard y que no se debe usar (hasta ahí bien)
pero si os dais cuenta he usado también la función clrscr(); de conio.h (aparte del getch() que se que se podría hacer con el getchar() o con system(PAUSE)).si conoceis alguna forma de hacer clrscr() sin usar conio.h me gustaría saberlo, les estaré muy agradecido.
WindHack escribió:1 - La declaración de iostream.h está mala, ya que es una cabecera antigua y los compiladores nuevos te tirarán error, en su defecto, usa #include <iostream>
yo he dado c++ en la universidad y se que ambas declaraciones hacen lo mismo y que solo depende del compilador que deje compilar, por eso he dicho que he compilado en Borland C++ Builder (5 para ser mas exactos).

A lo que iba... aparte de que compile o no en otro compilador distinto, el que sepa c++ y quiera implementarlo.. solo tendrá que fijarse en la declaración de la función text2Ascii que tan solo utiliza la libreria de string.
Yo también iba a postearla en Php pero me pareció "menos trivial" hacerlo en c++ puesto que no hay una función Ord() predefinida.

Un saludo señores! Un placer!
R-007

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 15:09
por linkgl
si conoceis alguna forma de hacer clrscr() sin usar conio.h me gustaría saberlo

Código: Seleccionar todo

system("cls");

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 15:51
por R-007
muchisimas gracias linkgl!!! llevaba TIEMPO intentando buscar una solución a eso!
bueno creo que me verán codeando MUY a menudo, tanto en vb, como en delphi, c++, java, batch, vbscript o perl.. así que espero poder aportar mucho más y que nos podamos ayudar mutuamente

Un saludo! R-007

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 18:49
por WindHack
Sí es cierto que declarar iostream.h no tiene problemas, pero si ese código se va a portar a otros compiladores más nuevos, tirará errores.

Es cuestión de gustos y de portabilización de código.

Referente a conio.h hay otra alternativa mucho más efectiva que es ncurses.h ( [Enlace externo eliminado para invitados] )
__
bueno creo que me verán codeando MUY a menudo, tanto en vb, como en delphi, c++, java, batch, vbscript o perl.. así que espero poder aportar mucho más y que nos podamos ayudar mutuamente
Sí, igualmente me verán programando muy a menudo en: Delphi (ObjectPascal), Oxygen (Delphi Prism), C++, PHP, Ruby, Python, Perl, entre otros lenguajes.

;)

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 19:35
por R-007
gracias WindHack! probaré el Ncurses a ver que tal funciona ;)
se agradecen consejos de CALIDAD como los que disteis ^^, un saludo!

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 20:10
por WindHack

Código: Seleccionar todo

=begin
####################################
# Ruby 1.9.1                       # 
# Texto a ASCII                    #
# Autor: WindHack                  #
# Sitio web: http://daw-labs.com   #
####################################
=end                                
                                
puts 'Texto a ASCII'
puts 'Introduce la cadena: '
Cadena = gets.chomp                                        
tmp = ''            
Cadena.each_byte do |ascii|
    tmp += ascii.to_s + ',' 
end      
puts tmp 

Re: Convertir texto a ASCII [Python]

Publicado: 21 Jun 2010, 20:16
por R-007
en Ruby si que se ve resumido el code!

celebro mi post 300 con ustedes jejejeje!
Un saludo! R-007