Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 21268|Răspunde: 0

[Sursă] C# 2, 10, 16 și 16 și codurile lor ASCII

[Copiază linkul]
Postat pe 09.08.2016 10:22:40 | | |

C# 2, 10, 16 și 16 și codurile lor ASCII
            --------//Conversia diferitelor tipuri de caractere în C# pentru comunicarea prin porturi seriale------------


             Înțelegerea duratei caracterului
            șiruri s = "Sunt un soldat de 2";
            int len = s. Lungime; 6 personaje  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Lungime; 11 octeți  
           
            Nu are sens să convertești zecimalul în șir, iar acesta trebuie convertit în codul ASCII corespunzător
            int t1 = 81;
            Șirul S1 = T1. ToString();
            Această conversie zecimală corespunde caracterelor ASCII pentru a avea sens.
            s1 = ((char)t1). ToString();

            Hexazecimal la șir: Asta nu are sens. E la coarde.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Caractere de la hexazecial la ASCII:
            octet babb = 0x45;
            fund de șnură = ((char)babb). ToString();

            Șiruri ASCII către numere zecimale
            string tr = "2Ab Liu";
            string d ="";
            pentru (int i = 0; Am < tr. Lungime; i++)
            {
                int ii = (int)Convert.ToChar(trad. Substring(i, 1));
                d = d +" "+ ii.ToString();
            }

            Șir ASCII la număr hexazecial
            string s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = noul StringBuilder();
            foreach (octet b în ba)
            {
                sb. Adaugă (b.ToString("x") + " ");
            }

            Hexazecimal până la zecimal
            int intA = 0x16; La definire, trebuie să fie 0x  
            stringurile A = "16"; Corzile pot fi fără  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10 până la 16
            strA = Convert.ToString(intA2, 16);


            De la zecimal la binar, hexazecimalul este similar
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            De la binar la zecimal
            int10 = Convert.ToInt32(str2,2);







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

Cum primește portul serial C# un set de numere hexazecimale
Cum primește C# SerialPort un set de numere hexazecimale și cum ar trebui scris programul?
Cel mai bun răspuns
System.IO.Ports.SerialPort sp = noul System.IO.Ports.SerialPort("COM1");
int mărimea bufferului = 6;   Dimensiunea numărului hexazecimal (să zicem 6Byte)
Byte[] buffer = new Byte[buffersize];   Creează un tampon
sp. Read(buffer, 0, buffersize);    Citit din COM1

Acest set de numere hexazecimale este procesat  


Portul serial C# trimite date
Puncte de recompensă: 5 - Timp de rezolvare: 2009-10-19 21:15
Vreau să trimit o comandă hexadecimală către portul serial, șirul de comenzi este: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Cum pot converti numeric șirul de mai sus astfel încât portul serial al calculatorului să știe că șirul pe care l-am trimis este hexazecimal? Supliment de întrebare:
Cine are un astfel de cod exemplu, vă rog să mă ajutați, sunt producător hardware, nu sunt familiarizat cu software-ul, sper ca masterul să poată oferi un cod detaliat, mulțumesc! Întrebare: daishuanqing - Stagiar Nivel 1
Cel mai bun răspuns
Adaugă o referință: Microsoft.VisualBasic (este cod C#, dar trebuie referențiat.) )

Parcurgeți SerialPortNames cu următoarele pentru a obține toate porturile seriale
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
Foreach (șirul S în pc. Portări.NumeSeriePorți)
{
    this.comboBox1.Items.Add(s);
}

Apoi, numele portului serial comName afișat este folosit pentru a obține obiectul operațiunii. Poți deschide acest port serial:

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

Datele pot fi apoi scrise pe portul serial

Trimiterea datelor către portul serial:
com. WriteLine(this.textBox1.Text);
Tablourile de octeți pot fi scrise și
com. Scrie (bArray,0,5); Se referă la cei 5 octeți care pornesc de la 0 și care scriu array-ul de octeți bArray

Se pot accepta și date:
com. ReadLine()
De asemenea, este posibil să citești octeții
com. ReadByte();


În final, este închis:
com. Apropiat();


De asemenea, convertiți șirul hexazecimal în octet
octet b = Convert.ToByte("1A",16); Portul serial C# trimite date
Puncte de recompensă: 5 - Timp de rezolvare: 2009-10-19 21:15
Vreau să trimit o comandă hexadecimală către portul serial, șirul de comenzi este: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Cum pot converti numeric șirul de mai sus astfel încât portul serial al calculatorului să știe că șirul pe care l-am trimis este hexazecimal? Supliment de întrebare:
Cine are un astfel de cod exemplu, vă rog să mă ajutați, sunt producător hardware, nu sunt familiarizat cu software-ul, sper ca masterul să poată oferi un cod detaliat, mulțumesc! Întrebare: daishuanqing - Stagiar Nivel 1
Cel mai bun răspuns
Adaugă o referință: Microsoft.VisualBasic (este cod C#, dar trebuie referențiat.) )

Parcurgeți SerialPortNames cu următoarele pentru a obține toate porturile seriale
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
Foreach (șirul S în pc. Portări.NumeSeriePorți)
{
    this.comboBox1.Items.Add(s);
}

Apoi, numele portului serial comName afișat este folosit pentru a obține obiectul operațiunii. Poți deschide acest port serial:

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

Datele pot fi apoi scrise pe portul serial

Trimiterea datelor către portul serial:
com. WriteLine(this.textBox1.Text);
Tablourile de octeți pot fi scrise și
com. Scrie (bArray,0,5); Se referă la cei 5 octeți care pornesc de la 0 și care scriu array-ul de octeți bArray

Se pot accepta și date:
com. ReadLine()
De asemenea, este posibil să citești octeții
com. ReadByte();


În final, este închis:
com. Apropiat();


De asemenea, convertiți șirul hexazecimal în octet
octet b = Convert.ToByte("1A",16);




Precedent:Criptarea și decriptarea ASCII C#
Următor:WebAPI nu suportă soluții alternative pentru cererile cross-domain
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com