Tre domande sul c# el la conversioe (ascii , esadecimale)

venerdì 06 ottobre 2006 - 12.33

88mav Profilo | Newbie

allora io ho una stringa che contine un numero binario (es: 01010111)

1- come posso convertire questo in codice ascii?
2- come posso convertirlo in esadecimale ?


altra domanda invece
io leggo una stringa di 8 caratteri, esiste un metodo per controllare immediatamente se è composto sola da "0" e da "1"??

Ciciu Profilo | Senior Member

Ciao.

Immagina di avere una variabile stringa che contiene un numero binario :

string binario = "01011111";

Puoi convertirlo in base 10 sfruttando la classe Convert, segnalando che il sorgente è in base2 :

Console.WriteLine(Convert.ToInt32(binario, 2));

Puoi convertirlo in base 16 segnalando la base di destinazione (il dato di partenza è comunque un numerico) :

Console.WriteLine(Convert.ToString(Convert.ToInt32(binario, 2), 16));

Per verificare che un numero sia composto solo da 1 e 0, puoi sruttare il motore delle regular expressions :

using System.Text.RegularExpressions;
[...]
Regex r = new Regex("^[0-1]*$");
if (r.IsMatch(binario))
Console.WriteLine("ok");

Ciao - Fabio
Fabio G

totti240282 Profilo | Guru

>allora io ho una stringa che contine un numero binario (es: 01010111)
>
>1- come posso convertire questo in codice ascii?

chr(stringa)

>2- come posso convertirlo in esadecimale ?

ci sono molti metodi il piu semplice è hex(numero) oppureconvert.toint32(numero,16).

C'è solo un capitano !!!!!!

88mav Profilo | Newbie

chr(stringa)

non funziona

se io assegno a una variabile di tipo string chr(stringa) non funziona...


qualcuno sa dirmi come convertire un binario in ascii??
oppure un esadecimale in ascii??
oppure un decimale in ascii??

insomma qualcuno sa come si converte qualsiasi cosa in ascii?

Ciciu Profilo | Senior Member

Ciao.
Rifacendoti all'esempio di prima, queste sono le conversioni da binario/hex ad ascii.

char ch = (char)Convert.ToByte(binario, 2);
Console.WriteLine("da binario : " + ch.ToString());
ch = (char)Convert.ToByte(Convert.ToString(Convert.ToInt32(binario, 2), 16), 16);
Console.WriteLine("da hex : " + ch.ToString());

Ciao - Fabio

PS - Il "qualsiasi cosa" non esiste. Diciamo che, per quella che è la mia esperienza, devi prima ricondurre il qualcosa ad un numero...
Fabio G

Pongo Profilo | Senior Member

Scusate una domanda: se devo inviare un carattere "↕" sulla porta seriale come faccio??

Se provo a metterlo a video in un label questo mi appare come un quadrato.

La sequenza per produrlo è Alt+018!

Come posso fare??

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5