Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 21268|Risposta: 0

[Fonte] C# 2, 10, 16 e 16 e i loro codici ASCII

[Copiato link]
Pubblicato su 09/08/2016 10:22:40 | | |

C# 2, 10, 16 e 16 e i loro codici ASCII
            --------//Conversione di vari tipi di caratteri in C# per la comunicazione tramite porte seriali------------


             Comprese della lunghezza del carattere
            stringa s = "Sono un soldato a 2";
            int len = s.Lunghezza; 6 personaggi  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            Len = sarr. Lunghezza; 11 byte  
           
            Non ha senso convertire il decimale in stringa, e deve essere convertito nel corrispondente codice ASCII
            int t1 = 81;
            stringa s1 = t1. ToString();
            Questa conversione decimale corrisponde a caratteri ASCII per avere senso.
            s1 = ((char)t1). ToString();

            Esadecimale a stringa: Questo non ha senso. È per la corda.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Caratteri esadecimali ad ASCII:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            Stringhe ASCII a numeri decimali
            stringa tr = "2Ab Liu";
            stringa d ="";
            per (int i = 0; Ho < tr. Lunghezza; i++)
            {
                int ii = (int)Convert.ToChar(trad. Sottostringa(i, 1));
                d = d +" "+ ii.ToString();
            }

            Stringa ASCII a numero esadecimale
            stringa s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = nuovo StringBuilder();
            foreach (byte b in ba)
            {
                SB. Appendere (b.ToString("x") + " ");
            }

            Esadecimale a decimale
            int intA = 0x16; Quando si definisce deve essere 0x  
            stringhe strA = "16"; Le stringhe possono essere senza  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10-16
            strA = Convert.ToString(intA2, 16);


            Dal decimale al binario, l'esadecimale è simile
            int int10 = 10;
            stringa str2 = Convert.ToString(int10,2);

            Da binario a decimale
            int10 = Convert.ToInt32(str2,2);







//-------------------------------------------------------------------------------

Come riceve il serialport in c# un insieme di numeri esadecimali
Come fa C# SerialPort a ricevere un insieme di numeri esadecimali e come dovrebbe essere scritto il programma?
Migliore risposta
System.IO.Ports.SerialPort sp = nuovo System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   La dimensione del numero esadecimale (diciamo 6 byte)
Buffer di byte[] = nuovo Byte[buffersize];   Crea un buffer
sp. Lettura (buffer, 0, buffersize);    Letto da COM1

Questo insieme di numeri esadecimali viene elaborato  


La porta seriale C# invia dati
Punti taglia: 5 - Tempo di risoluzione: 19-10-2009 21:15
Voglio inviare un comando esadecimale alla porta seriale, la stringa di comando: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Come posso convertire numericamente la stringa sopra in modo che la porta seriale del computer sappia che la stringa che ho inviato è esadecimale? Supplemento domanda:
Chi ha un codice di esempio del genere, per favore aiutatemi, sono un produttore hardware, non conosco il software, spero che il master possa fornire un codice dettagliato, grazie! Interrogante: daishuanqing - Tirocinante Livello 1
Migliore risposta
Aggiungi un riferimento: Microsoft.VisualBasic (è codice C#, ma deve essere riferito.) )

Attraversa i SerialPortNames con quanto segue per ottenere tutte le porte seriali
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
Foreach (stringa s in pc. Ports.Nomi Porta)
{
    this.comboBox1.Items.Add(s);
}

Successivamente viene utilizzato il nome della porta seriale comName visualizzato per ottenere l'oggetto operazione. Puoi aprire questa porta seriale:

System.IO.Ports.SerialPort com = nuovo System.IO.Ports.SerialPort(comName);
com. Open();

I dati possono quindi essere scritti sulla porta seriale

Invio dei dati alla porta seriale:
com. WriteLine(this.textBox1.Text);
Gli array di byte possono anche essere scritti
com. Scrivere(bArray,0,5); Si riferisce ai 5 byte che partono da 0 e che scrivono l'array di byte bArray

I dati possono essere accettati anche:
com. ReadLine()
È anche possibile leggere byte
com. ReadByte();


Infine, è chiuso:
com. Close();


Inoltre, converti la stringa esadecimale in byte
byte b = Convert.ToByte("1A",16); La porta seriale C# invia dati
Punti taglia: 5 - Tempo di risoluzione: 19-10-2009 21:15
Voglio inviare un comando esadecimale alla porta seriale, la stringa di comando: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Come posso convertire numericamente la stringa sopra in modo che la porta seriale del computer sappia che la stringa che ho inviato è esadecimale? Supplemento domanda:
Chi ha un codice di esempio del genere, per favore aiutatemi, sono un produttore hardware, non conosco il software, spero che il master possa fornire un codice dettagliato, grazie! Interrogante: daishuanqing - Tirocinante Livello 1
Migliore risposta
Aggiungi un riferimento: Microsoft.VisualBasic (è codice C#, ma deve essere riferito.) )

Attraversa i SerialPortNames con quanto segue per ottenere tutte le porte seriali
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
Foreach (stringa s in pc. Ports.Nomi Porta)
{
    this.comboBox1.Items.Add(s);
}

Successivamente viene utilizzato il nome della porta seriale comName visualizzato per ottenere l'oggetto operazione. Puoi aprire questa porta seriale:

System.IO.Ports.SerialPort com = nuovo System.IO.Ports.SerialPort(comName);
com. Open();

I dati possono quindi essere scritti sulla porta seriale

Invio dei dati alla porta seriale:
com. WriteLine(this.textBox1.Text);
Gli array di byte possono anche essere scritti
com. Scrivere(bArray,0,5); Si riferisce ai 5 byte che partono da 0 e che scrivono l'array di byte bArray

I dati possono essere accettati anche:
com. ReadLine()
È anche possibile leggere byte
com. ReadByte();


Infine, è chiuso:
com. Close();


Inoltre, converti la stringa esadecimale in byte
byte b = Convert.ToByte("1A",16);




Precedente:Crittografia e decrittografia ASCII in C#
Prossimo:WebAPI non supporta soluzioni alternative per richieste cross-domain
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com