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: 6381
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: 6381
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