Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - conversione da ASCII binario a testo
Forum - C# / VB.NET - conversione da ASCII binario a testo

Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 9:59
Venerdì, 16/05/2014
Ho un problemino: io ho gia fatto la conversione da testo ad ASCI binario ( a -> 1100001).

E per farlo ho fatto così:

Codice sorgente - presumibilmente C# / VB.NET

  1. foreach (char c in this.txtPlainText.Text)
  2.                 this.txtBit.Text += Convert.ToString((int)c, 2);



Il mio problema è che non riesco a fare il contrario (1100001 -> a)  :(

Come posso fare?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:25
Venerdì, 16/05/2014
La conversione la modificherei in modo da inserire gli 0 che mancano a sinistra per raggiungere gli 8 bit

Codice sorgente - presumibilmente C# / VB.NET

  1. foreach (char c in txtPlainText.Text)
  2.                 txtBit.Text += Convert.ToString((int)c, 2).PadLeft(8, '0');



Fatto questo, per l'altra conversione, puoi scrivere

Codice sorgente - presumibilmente C#

  1. int z=0, cn=0;
  2.             foreach (char c in txtBit.Text)
  3.             {
  4.                 z *= 2;
  5.                 z += (c - '0');
  6.                 if (++cn == 8)
  7.                 {
  8.                     cn = 0;
  9.                     txtPlainText.Text += Convert.ToChar(z);
  10.                     z = 0;
  11.                 }
  12.             }



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 18:39
Venerdì, 16/05/2014
Per il fatto di usare 7 bit invece di 8 va bene, perchè seguo la tabella dei caratteri ASCII "ristretta", che usa appunto solo 7 bit.
Puoi dirmi come fare se uso solo 7 bit?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:08
Venerdì, 16/05/2014
Aggiungere un bit a 0 per ottenerne 8 non fa nessuna differenza.

In ogni caso per 7 bit le modifiche mi sembrano chiare ... guarda la PadLeft e la if (++cn ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote