Monday, May 08, 2006

Leer caracteres


Esta es la publicacion del primer programa, lo denomino lector de caracteres, de que se trata, se ingresa un texto, se presiona enter y saldrá por pantalla, la lectura de los caracteres en ASCII y en binario.
El codigo es el siguiente:

using System;
using System.Security.Cryptography;
using System.Text;
namespace cadenas
{ public class leer
{
int c;
public void lee()
{ //se instancian las matrices para que no tengan valor nulo
char[] texto=new char[128];
byte[] texto2=new byte[128];
string[] binario=new string[128];
Console.WriteLine("Ingrese mensaje : ");
//se almacena la entrada en un string
string Mensaje = Console.ReadLine();
//se instancia la clase
UnicodeEncoding UE = new UnicodeEncoding();
//se toman los valores del texto ingresado como byte
//con este comando separamos el string a caracteres

byte[] MensajeBytes = UE.GetBytes(Mensaje);
//almacenamos los valores en matrices para su posterior uso
foreach(byte b in MensajeBytes)
{ if(b!=0)
{ texto[c]=Convert.ToChar(b);
texto2[c]=Convert.ToByte(b);
c=c+1; }
}
Console.WriteLine("Existen "+c+" caracteres en la frase \n");
for(int i=0;i<=(c-1);i++)
{ string b=Convert.ToString(texto2[i]);
binario[i]=DecBin(valor(b));
Console.WriteLine(texto[i]+"\t"+texto2[i]+"\t"+binario[i]); }
Console.ReadLine();
}
public static int valor(string NumBin)
{ return int.Parse(NumBin); }
public static string DecBin(int Num)
{/*conversion a codigo binario, recorriendo el texto*/
string NumBin="";
int LeeNum=1<<7;
for(int i=0;i<=7;i++)
{ /*se realiza una comparacion binaria bit a bit*/
if((Num & LeeNum)!=0)
NumBin+="1";
else
NumBin+="0";
Num<<=1; }
return NumBin;
} } }
Por ultimo se instancia la clase:

using System;
namespace cadenas
{
class Class1
{
static void Main(string[] args)
{ leer l=new leer();
l.lee();
} } }

0 Comentarios :

Post a Comment

<< Home